如果我正在使用 GCD,我是否需要创建 @autorelease 池
if i am using GCD should i need to create @autorelease pool
我已经阅读了很多关于何时使用@autorelease 池的 Whosebug 讨论,有人建议在您的应用程序中创建辅助线程时编写自己的@autorelease 池,并且一些关于此的讨论描述了您不需要创建@自动释放池,
当我使用 GCD
时,我还应该需要在外部创建 @autorealease 池吗?
所以请这里的任何人纠正我关于@autorelease 的情况。
如果您的块创建了多个 Objective-C 对象,您可能希望将块的部分代码包含在 @autorelease 块中以处理这些对象的内存管理。
尽管 GCD 调度队列有自己的自动释放池,但它们无法保证这些池何时被耗尽。如果您的应用程序内存受限,创建您自己的自动释放池可以让您以更规律的间隔为自动释放的对象释放内存。
因此,如果您只分配几个对象,请不要担心 it.However,如果您要分配大量对象(并且由于您的目标是内存受限环境),那么您应该创建和排出池。
我已经阅读了很多关于何时使用@autorelease 池的 Whosebug 讨论,有人建议在您的应用程序中创建辅助线程时编写自己的@autorelease 池,并且一些关于此的讨论描述了您不需要创建@自动释放池, 当我使用 GCD
时,我还应该需要在外部创建 @autorealease 池吗?所以请这里的任何人纠正我关于@autorelease 的情况。
如果您的块创建了多个 Objective-C 对象,您可能希望将块的部分代码包含在 @autorelease 块中以处理这些对象的内存管理。
尽管 GCD 调度队列有自己的自动释放池,但它们无法保证这些池何时被耗尽。如果您的应用程序内存受限,创建您自己的自动释放池可以让您以更规律的间隔为自动释放的对象释放内存。
因此,如果您只分配几个对象,请不要担心 it.However,如果您要分配大量对象(并且由于您的目标是内存受限环境),那么您应该创建和排出池。