黑马程序员技术交流社区

标题: 关于自动释放池 [打印本页]

作者: 冷傲阳    时间: 2016-5-24 23:20
标题: 关于自动释放池
autorelease使用注意
1.        只有在自动释放池中调用了对象的autorelease方法,这个对象才会被存储到这个自动释放池中.
2.        对象创建可以在自动释放池的外面,在自动释放池内调用autorelease就能吧对象加入自动释放池
3.        自动释放池结束的时候,仅仅对存储在自动释放池中的对象发送1条release,而不是销毁对象
4.        如果在自动释放池内调用同一个对象autorelease方法多次,就会将这个对象多次存储到这个自动释放池中,在自动释放池结束的时候,会为对象发送多条release效益,这个时候就会出现僵尸对象错误.
5.        如果在自动释放池中调用了存储在自动释放池中对象的release方法,在自动释放池结束的时候,还会再调用对象的release方法,这个时候就会有可能会造成野指针操作
6.        将帝乡存储在自动释放池,并不会使对象的引用计数器+1,,创建对象将对象存储在自动释放池,就不需要调用对象的release方法了
7.        自动释放池可以嵌套,调用对象的autorelease方法,会将对象加入到当前自动释放池中,只有在当前自动释放池结束的时候才会向对象发送release消息

作者: TGII    时间: 2016-5-25 00:25
过来看看正好复习下,最常用的 autoreleasepool的作用域的问题.与变量的作用于的区别,作用于结束的时候会为调用了autorelease的对象,release一次
作者: deqiqi939788736    时间: 2016-5-25 00:42
城夺在夺夺顶替顶替枯




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2