本帖最后由 yuanlingqi 于 2014-11-10 07:59 编辑
1.什么是ARC
1》ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting);
2》就是编译器自动帮你在代码中加入retain/release,自动帮你管理内存的释放;
3》ARC并不是GC垃圾内存回收,而是静态代码分析机制,而GC是运行时垃圾内存回收机制
2.ARC的好处
1》开发者不需要再写内存管理代码,更专注于业务,代码更美观、简洁,
2》减少由于内存管理代码出错的几率
3.ARC的判断准则
只要没有强指针指向对象就会释放对象
4.两种指针类型
1>强指针:默认情况下,所有指针都是强指针__strong
2>弱指针:__weak,弱指针指向的对象若被销毁,指向该对象的弱指针也会被销毁
弱指针是为解决对象相互引用无法释放而存在(互相引用时,需要一方声明为weak)
5.ARC机制下的编码变化
1》@property的参数retain修饰符使用strong代替
6、ARC项目如何兼容非ARC项目
修改ARC项目build-phases选项,指定双击或回车输入-fno-objc-arc,该类将不再使用ARC
|