This question already has answers here:
How does the NSAutoreleasePool autorelease pool work?
(7个答案)
4年前关闭。
我已经阅读了很多有关@autorelease池的博客,但是我仍然不清楚 objective-c 或ios开发中的@autorelease池概念。
因此,任何人都可以对这个概念有所了解。
如果有人可以向我提供示例,以及何时需要使用@autorelease池,这对我将非常有帮助。
如何使用@autorelease池和不使用@autorelease池来测量内存分配。
如果该主题重复,请说明一下。
(7个答案)
4年前关闭。
我已经阅读了很多有关@autorelease池的博客,但是我仍然不清楚 objective-c 或ios开发中的@autorelease池概念。
因此,任何人都可以对这个概念有所了解。
如果有人可以向我提供示例,以及何时需要使用@autorelease池,这对我将非常有帮助。
如何使用@autorelease池和不使用@autorelease池来测量内存分配。
如果该主题重复,请说明一下。
最佳答案
发布和自动发布是与内存管理相关的术语。每当您拥有对象时,都有责任释放它。如果您没有正确释放它,Objective -C将无法回收它以供其他对象使用,并且会发生内存泄漏。
拥有对象的不同方法是alloc,new,remain和copy。无论何时使用此东西,都应尝试释放它,以便Objective C会小心处理该对象。如果不确定要释放该对象,请确保执行自动释放。
每当您执行对象的自动释放时,对象就不会以正确的方式释放,它将被添加到主功能的自动释放池中。主要功能中的自动释放池将维护一堆要释放的对象,当调用“排放”方法时,它们将被一个接一个地释放,例如:[池排放]。在每个事件循环结束时,都会重复调用Drain方法。
10-01 19:47