我已经阅读了很多关于@autorelease池的博客,但我仍然不清楚客观c或ios开发中的@autorelease池概念。
任何人都可以对这个概念有所了解。 如果任何人可以提供一个例子,并且需要使用@autorelease池,那将对我非常有帮助。
如何使用@autorelease池和没有它来测量内存分配。
请注意这个话题可能是重复的。
答案 0 :(得分:-1)
发布和自动发布是与内存管理相关的术语。无论何时拥有一个物体,你都有责任释放它。如果你没有正确发布它,Objective -C不能回收它以使用其他对象,并且会有内存泄漏。
拥有对象的不同方式是alloc,new,retain和copy每当你使用这个东西时尝试释放它,所以Objective C会小心吹掉那个对象。如果您不确定是否要释放该物体,请确保自动释放。
每当你对某个对象进行自动释放时,对象就不会正确释放,它将被添加到main函数的Autoreleasepool中。 main函数中的Autoreleasepool将维护一堆要释放的对象,并在调用" drain"方法时逐个释放它们,例如:[pool drain]。在每个事件循环结束时重复调用Drain方法。