我已经阅读了很多关于@autorelease池的博客,但我仍然不清楚目标 c 或 ios 开发中的这个@autorelease池概念。
所以任何人都可以阐明这个概念。如果有人能为我提供一个例子以及何时需要使用@autorelease池,那将对我非常有帮助。
如何使用@autorelease池和不使用池来测量内存分配。
请阐明这个主题可能是重复的。
"发布"和"自动释放"是与内存管理相关的术语。 每当您拥有一个对象时,您都有责任释放它。 如果你没有正确释放它,Objective -C 将无法回收它以用于其他对象,并且会出现内存泄漏。
拥有对象的不同方式是分配、新建、保留和复制 每当你使用这个东西时,试着释放它,这样目标 C 就会小心地吹那个对象。如果您不确定是否要释放该对象,请确保执行自动释放。
每当您自动释放对象时,该对象未以正确的方式释放,它将被添加到主函数中的自动释放池中。main 函数中的 Autoreleasepool 将维护一堆要释放的对象,当调用 "drain" 方法时,它们会逐个释放,例如:[pool drain]。在每个事件循环结束时重复调用 Drain 方法。