Autorelease Pool Blocks
提供了一种机制,可以释放所拥有的对象,但可以避免立即释放它的可能性(例如当方法返回对象时)。 在通常情况下,我们是不需要创建自己的 Autorelease Pool Blocks ,但是在某些情况下,有必要甚至必须这样做。
使用场景:
1、如果你正在编写一个不基于UI框架的程序,例如命令行工具。
2、如果你编写一个需要创建许多临时对象的循环。
你可以在循环中使用自动释放池块来在下一次迭代之前处理这些对象。 在循环中使用 Autorelease Pool Blocks 有助于减少应用程序的最大内存占用量。
3、如果你创建了一个辅助线程。
一旦线程开始执行,你必须创建自己的 Autorelease Pool Blocks ; 否则,你的应用程序泄漏。
网友评论