黑马程序员技术交流社区

标题: ARC机制总结 [打印本页]

作者: yuanlingqi    时间: 2014-11-9 21:14
标题: ARC机制总结
本帖最后由 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

作者: doudou33420    时间: 2014-11-10 01:36
一直不懂你发的内容里为什么老是有奇怪的字符 [size=14.3999996185303px]  这是什么 内存地址吗
作者: yuanlingqi    时间: 2014-11-10 07:53
本帖最后由 yuanlingqi 于 2014-11-10 08:01 编辑
doudou33420 发表于 2014-11-10 01:36
一直不懂你发的内容里为什么老是有奇怪的字符   这是什么 内存地址吗

编辑器自动加的和样式有关,编辑的时候是看不到的。
作者: yuanlingqi    时间: 2014-11-10 07:56
本帖最后由 yuanlingqi 于 2014-11-10 08:00 编辑

来回编辑了好几遍,最后消除样式,从新加入样式才正常。
作者: yuanlingqi    时间: 2015-1-15 20:11
本帖最后由 yuanlingqi 于 2015-1-15 20:13 编辑

build phases -compile sources内设定-fno-objc-arc参数可以指定某些类不使用arc机制;设定-f-objc-arc则是指定某些类使用arc,刚好相反。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2