我最近为我的应用程序项目切换到了ARC。我正在使用iOS 5 SDK。运行一台iPod 4g设备我没有收到任何警告。但是尝试在iPod 2g上运行我的应用程序时,我收到许多警告:
*** __NSAutoreleaseNoPool(): Object 0x258070 of class DataModel autoreleased with no pool in place - just leaking
*** __NSAutoreleaseNoPool(): Object 0x2530a0 of class __NSArrayM autoreleased with no pool in place - just leaking
*** __NSAutoreleaseNoPool(): Object 0x25a2e0 of class NSCFNumber autoreleased with no pool in place - just leaking
我猜想通过使用ARC运行arm6 / arm7代码之间会有区别。
如何解决呢?
谢谢
最佳答案
无论您在单独的线程中做什么工作,添加@autoreleasepool
上下文都是明智的。
More information available here。
还有一些不错的示例to be found in this related question。