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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

ARC(自动释放内存)的概念和原理
ARC:(automatic reference(引用,参考) Counting)就是自动引用计数器,即ARC
MRC(Manual(手动的) Reference Counting)手动管理内存
ARC是Object-C编译器的特性,ARC要做的只是在编译器编译的时候
ARC的基本原则:
        不要在代码里,再手动写retain、release、autorelease三个关键字就好,重写父类的dealloc方法时,不能再调用[super dealloc],ARC开启时,编译器会自动在代码合适的地方插入这三个关键字(iOS5之后的都是ARC,完全不用担心编译器会做错...)

ARC中并不是用不着这三个关键字,而是ARC的情况下,编译器会自己判断,把这几个关键字加进去,所以其实ARC和MRC本质上其实是一样的,只是几个关键字显示不显示而已
        判断准则:
        MRC的判断准则是:当引用计数器retainCount的值为0,就销毁对象,回收内存。
        ARC的判断准则:只要没有强指针指向对象,对象就会被释放
学习ARC之后,先暂时忘记retainCount的概念,两者判断是否销毁对象,回收内存的标准完全不一样

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马