A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小石头16544 中级黑马   /  2016-1-23 23:13  /  551 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Autorelease 的使用:
1.并不是放到自动释放池中的代码中,就会自动加入到自动释放池的
需要我们调用autorelease方法的
在自动释放池的外部调用autorelease方法,是不会被加入到自动释放池中的
不管这个对象是在自动释放池内部还是外部创建的,只要在这个对象在自动释放池中调用autorelease方法,那么就会被放到自动释放池中
总结:不管是在什么地方创建的对象,都必须在自动释放池中,调用autorelease方法,才会被加入自动释放池中
2.自动释放池的嵌套使用:先进后出
3.自动释放池中不适合放占用内存比较大的对象
1)这是种延迟释放机制,对大内存,还是尽量使用
2)不要把大量循环操作放到同一个@autoreleasepool(自动释放池)之间,这样会造成内存峰值的
4.错误用法:
1)连续调用多次autorelease,释放池销毁时执行两次release
2)alloc之后调用了autorelease,之后又调用了release
5.autorelease的应用场景:
经常用来在类方法中,快速创建一个对象

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马