码迷,mamicode.com
首页 > 其他好文 > 详细

ARC的实现机制

时间:2015-06-26 14:53:51      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

     ARC(Automatic Reference Counting)是自动引用计数管理机制,但是它有别于GC,是一种静态的分析工具。

     ARC会自动在适当的地方插入retain/release的代码,以前需要手动管理内存的地方可以直接用arc来代替了。

     ARC的释放位置:如果是在方法里面,直接在方法的末尾release掉,如果是类变量,在delloc里面释放掉。

     ARC使用前端编译器实现自动插入内存管理的代码,使用优化器优化多个release和retain的代码。

    该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以使用该机能。简单地理解ARC,就是通过指定的语法,让编译器(LLVM 3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(Static Analyzer)工具。

 

    使用ARC的好处:

    以后写代码简单多了,不用担心烦人的内存问题,以及内存泄露的问题。

    代码总量变少了,看起来清爽了不少。

    代码高速化,减少了低效代码的可能性。

    使用ARC要注意的地方:

   1.使用强引用和弱引用,强引用就是拥有了某个对象,弱引用并不拥有这个对象,当强引用指针释放了的时候,弱引用自动被释放。

   2.如果要强行释放掉对象可以用置nil的方法。

   3.代码中不允许出现retain,release,autorelease等。

   4.delloc中不能出现【super delloc】

   5.不能使用new开头的属性名称。

ARC的实现机制

标签:

原文地址:http://www.cnblogs.com/guchengfengyun/p/4602217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!