A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小白一号 中级黑马   /  2015-3-15 23:09  /  1030 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

http://www.cnblogs.com/newbee010/p/4340752.html
ARC全称为Automatic Reference Counting,是一种编译器特性。

  在IOS5之前是没有ARC机制的,那时候内存管理全部要靠程序员自己来。有关内存管理的代码,简单却烦琐。而且还容易发生内存泄漏的错误。自从IOS5之后 编译器增加了自动在适当地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理一切的内存管理方面的问题。

  那么ARC是通过什么原理来管理内存问题的呢?它有一个判断的准则:只要没有强指针指向对象,就会释放对象。在ARC机制下不允许调用release、retain、retainCount;允许重写dealloc,但不允许调用[super dealloc]。在@property中的应用是将retain改为strong其他不变就行了。那什么是强指针呢,默认情况下,所有指针都是强指针。有强指针就会有弱指针;而弱指针用到的情况不是很多,一般遇到循环引用问题时,在ARC机制下,需要将一端用strong一端用weak;非ARC机制下,一端用retain,一端用assign;

2 个回复

倒序浏览
这个博客园写英文怎么成这样了。
回复 使用道具 举报
是有些看起来不大舒服!总结的还不够详细,再加上具体的例子去展现 应该更好!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马