object-C 之 自动释放池(autorelease pool)

自动释放池是一种内存自动回收机制,一般可以将一些临时变量添加到自动释放池中,统一回收释放

当自动释放池销毁时,池里面的所有对象都会调用一次release方法

oc对象只需要发送一条autorelease消息,就会把这个对象添加到最近的自动释放池中

autorelease实际上是把release的调用延迟了,对于每一次autorelease ,系统只是把该对象放入当前的autorelease pool中,当该pool被释放时,该pool中所有的对象都会调用release

autorelease 不改变计数器。

 Student *stu=[[[Student alloc] init] autorelease]—不用考虑何时释放

静态方法调用,不用释放内存,是自动释放的

不要把大量循环操作放在一个autorelease池中,会造成内存峰值的上升。

避免对大内存使用该方法。

用静态方法去简化主函数的定义

在.h文件中

Student *student=[[[Student alloc] init] autorelease];

return student;

 Student *stu=[Student student];

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2014年6月21日
下一篇 2014年6月21日

相关推荐