ios - NS自动释放池。什么时候适合创建一个新的自动释放池?

标签 ios memory-management nsoperation nsautoreleasepool

在 iOS/CocoaTouch 上,我经常看到在方法中创建 NSAutoreleasePool 新实例的代码。我最近在 NSOperation 中看到了一个。

设置 NSAutoreleasePool 新实例的基本规则是什么?为什么这比简单地依赖在 main.m 中创建的预先存在的释放池更可取?

谢谢,
道格

最佳答案

您可以随时使用新的自动释放池,但这并不总是有益的。每当您启动一个新线程或该线程中自动释放的对象将被泄漏时,它都是必需的。在创建和自动释放大量对象的方法中创建新的自动释放池也很常见。例如,如果您有一个在 50 次迭代中的每一次迭代中创建 10 个对象的循环,您应该考虑为该方法创建一个自动释放池(如果不是循环的一部分)以便为每次迭代创建一个新对象。

关于ios - NS自动释放池。什么时候适合创建一个新的自动释放池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213588/

相关文章:

ios - MVVMCROSS ShowViewModel-Navigation继承类

ios - 如何在 UILabel 周围绘制边框?

ios - 如何检查 NSTimer 是否已经失效

php - 如何防止内存大小耗尽的 fatal error

c++ - 解除分配不会释放 Windows/C++ 应用程序中的内存

objective-c - 如何观察 NSOperationQueue 的 "operations"属性?

IOS 框架本地化不起作用

c++ - 如何为非常大的筛子保留内存?

iphone - AFNetworking:enqueueBatchOfHTTPRequestOperations 问题与完成 block

ios - NSOperation 中的 ASINetworkQueue 错误保存核心数据