“在没有游泳池的情况下自动释放 - 只是在iOS 4.3上泄漏”

时间:2012-04-11 11:58:34

标签: iphone ios autorelease nsautoreleasepool

我在控制台中收到了数百封此消息:

__NSAutoreleaseNoPool(): Object 0x5d86f30 of class NSIndexPath autoreleased with no pool in place - just leaking

除了有关NSIndexPath以外的类的更多消息。

我知道这意味着对象是自动释放的,没有自动释放池也可以添加它们,但为什么这只发生在iOS 4.3而不是iOS 5.0 / .1

如果main()的返回值包含在NSAutoreleasePool对象中,那么为什么还没有自动释放池来添加自动释放的对象呢?

1 个答案:

答案 0 :(得分:2)

我不确定这是不是问题,但是main()中的autoreleasepool适用于UIThread(至少在4.3中)当你打开另一个线程时,你应该在它周围放一个新的自动释放池(仅限于你使用自动释放)。