标签:
iOS与OSX 多线程和内存管理 总结
一、 自动引用计数
1.自动引用计数(ARC)就是指内存管理中对引用采用自动计数的技术。
满足以下条件即可使用这种功能:
Xcode 版本为4.2以上;
使用LLVM编译器 版本为3.0以上;
编译器选项设置ARC为有效;
2.内存管理/引用计数
内存管理的思考方式:
2.1自己生成的对象,自己持有;
2.2非自己生成的对象,自己也能持有;
2.3不需要自己持有的对象时释放;
2.4非自己持有的对象无法释放;
2.1自己生成的对象,自己持有:
使用以下名称开头的方法意味着自己生成的对象只有自己持有
alloc;
new;
copy;
mutableCopy;
2.2非自己生成的对象,自己也能持有:
获取对象的方法还有:NSMutableArray 类 的array 类方法
代码示例:
取得非自己生成,非自己持有的对象:
id obj = [NSMutableArray array ];
自己持有对象
[obj retain];
2.3不需要自己持有的对象时释放:
自己释放对象
[obj release];
2.4非自己持有的对象无法释放
代码可以编译通过,但是强行释放会导致程序崩溃
3.alloc/retain/release/dealloc的实现
在Objective-C的对象中存有引用计数这一整数;
调用 alloc 或是 retain 方法后,引用计数加1;
调用 release 后,引用计数值减1;
引用计数值为时,调用dealloc方法废弃对象;
标签:
原文地址:http://www.cnblogs.com/CoderAlex/p/4799743.html