我读过很多关于何时使用@autorelease的讨论--有人建议在您的应用程序中创建一个辅助线程时编写自己的@autorelease池--关于这一点的一些讨论描述了您不需要创建@autorelease池,而且当我使用GCD时,是否也需要创建外部@autorealease池?
所以请在座的任何一位,纠正我关于哪种场景的自动发布的问题。
发布于 2017-12-22 11:45:40
如果您的块创建了不止几个objects对象,您可能希望将块代码的部分包含在@autorelease块中,以处理这些对象的内存管理。
虽然GCD调度队列有自己的自动释放池,但它们无法保证何时耗尽这些池。如果您的应用程序内存受限,创建您自己的自动释放池允许您将内存释放给自动释放的对象,时间间隔更长。
因此,如果您只分配几个对象,不要担心it.However,如果您要分配大量的对象(并且因为您是针对内存受限的环境),那么您应该创建和耗尽池。
https://stackoverflow.com/questions/36857998
复制相似问题