在 iOS/CocoaTouch 上,我经常看到在方法中创建 NSAutoreleasePool 新实例的代码。我最近在 NSOperation 中看到了一个。
设置 NSAutoreleasePool 新实例的基本规则是什么?为什么这比简单地依赖在 main.m 中创建的预先存在的释放池更可取?
谢谢,
道格
最佳答案
您可以随时使用新的自动释放池,但这并不总是有益的。每当您启动一个新线程或该线程中自动释放的对象将被泄漏时,它都是必需的。在创建和自动释放大量对象的方法中创建新的自动释放池也很常见。例如,如果您有一个在 50 次迭代中的每一次迭代中创建 10 个对象的循环,您应该考虑为该方法创建一个自动释放池(如果不是循环的一部分)以便为每次迭代创建一个新对象。
关于ios - NS自动释放池。什么时候适合创建一个新的自动释放池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213588/