黑马程序员技术交流社区
标题:
内存管理中的autorelease
[打印本页]
作者:
小石头16544
时间:
2016-1-23 23:13
标题:
内存管理中的autorelease
Autorelease 的使用:
1.并不是放到自动释放池中的代码中,就会自动加入到自动释放池的
需要我们调用autorelease方法的
在自动释放池的外部调用autorelease方法,是不会被加入到自动释放池中的
不管这个对象是在自动释放池内部还是外部创建的,只要在这个对象在自动释放池中调用autorelease方法,那么就会被放到自动释放池中
总结:不管是在什么地方创建的对象,都必须在自动释放池中,调用autorelease方法,才会被加入自动释放池中
2.自动释放池的嵌套使用:先进后出
3.自动释放池中不适合放占用内存比较大的对象
1)这是种延迟释放机制,对大内存,还是尽量使用
2)不要把大量循环操作放到同一个@autoreleasepool(自动释放池)之间,这样会造成内存峰值的
4.错误用法:
1)连续调用多次autorelease,释放池销毁时执行两次release
2)alloc之后调用了autorelease,之后又调用了release
5.autorelease的应用场景:
经常用来在类方法中,快速创建一个对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2