黑马程序员-我的第十四篇学习日记:OC中autorelease的使用
2014-04-07 19:28
295 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
autorelease说明
1>调用完autorelease对象计数器不变
2>autorelease方法返回对象本身
3>autorelease会将对象放到自动释放池中
4>当自动释放池被销毁时,会对池中里面所有对象做一次release
操作
如:
@autoreleasepool
{
Person *p = [[[Person alloc]init] autorelease]; //计数器+1,且autorelease方法返回对象本身
p.age = 10;
} //自动释放池销毁时,会对池中里面所有对象做一次release
错误写法:
1>alloc之后调用autorelease,然后又调用release
@autoreleasepool
{
Person *p = [[[Person alloc]init] autorelease]; //计数器+1,且autorelease方法返回对象本身
[p release];
}
2>连续调用多次autorelease
@autoreleasepool
{
Person *p = [[[Person alloc]init] autorelease]autorelease];
}
autorelease的好处
1>不用关心对象释放时间
2>不用关心什么时候调用release
使用注意:
1>占用内存较大的对象不要随便使用autorelease
2>占用内存较小的对象使用autorelease,没有太大的影响
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
autorelease说明
1>调用完autorelease对象计数器不变
2>autorelease方法返回对象本身
3>autorelease会将对象放到自动释放池中
4>当自动释放池被销毁时,会对池中里面所有对象做一次release
操作
如:
@autoreleasepool
{
Person *p = [[[Person alloc]init] autorelease]; //计数器+1,且autorelease方法返回对象本身
p.age = 10;
} //自动释放池销毁时,会对池中里面所有对象做一次release
错误写法:
1>alloc之后调用autorelease,然后又调用release
@autoreleasepool
{
Person *p = [[[Person alloc]init] autorelease]; //计数器+1,且autorelease方法返回对象本身
[p release];
}
2>连续调用多次autorelease
@autoreleasepool
{
Person *p = [[[Person alloc]init] autorelease]autorelease];
}
autorelease的好处
1>不用关心对象释放时间
2>不用关心什么时候调用release
使用注意:
1>占用内存较大的对象不要随便使用autorelease
2>占用内存较小的对象使用autorelease,没有太大的影响
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员-我的第十二篇学习日记:OC中空指针,野指针,僵尸对象,retain和release基本使用
- 黑马程序员---OC学习笔记之autorelease快速创建对象的应用
- 黑马程序员----Objective-C学习笔记之autorelease基本使用
- 黑马程序员——OC语言加强---autorelease基本使用
- 黑马程序员-我的第十一篇学习日记:OC构造方法和分类的使用
- iOS 学习第十六天 OC语言 autorelease基本使用
- 黑马程序员-我的第六篇学习日记:OC方法的使用,对象方法与函数的区别
- 黑马程序员---OC学习笔记之autorelease注意及错误用法
- 黑马程序员——OC学习——@class的使用
- 黑马程序员——OC基础之autorelease
- 黑马程序员-IOS学习笔记 OC @class的使用 解决循环引入
- 黑马程序员——OC学习之协议protocol的使用
- 黑马程序员--OC学习日记-OC内存管理学习感悟
- 黑马程序员-我的第七篇学习日记:OC成员变量名的命名规范,set方法和get方法
- 黑马程序员---OC学习笔记之protocol概念及基本使用
- 黑马程序员----OC学习NSString使用方法
- 黑马程序员_OC学习日记1
- 黑马程序员——OC——循环retain和autorelease
- 黑马程序员---OC学习笔记之NSString的其他使用和NSMutableString的用法
- 黑马程序员---OC学习笔记之NSNumber和NSValue的介绍和使用