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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 yibyli 于 2015-9-6 22:00 编辑

       OC不采用垃圾回收机制,而是采用引用计数的方式来管理内存,当引用计数为0的时候对象被销毁,当引用计数为1或者以上时,对象得以保持。
       在Xcode4.2版本以前是采用手工引用计数,具体是通过alloc,new,copy,mutableCopy,retain,release这个几个方法来更改对象的引用计数。其中alloc和new创建一个引用计数为1的对象,retain使对象的引用计数加1,release使对象的引用计数减去1,当对象的引用计数为0的时候会调用一个dealloc的方法销毁对象。
       手工引用计数采取的原则是谁负责创建,谁负责销毁,谁retain,谁负责release,道理虽然简单,但是内存管理随着代码的庞大还是很令人头痛。因此出现了自动引用计数,即所谓的ARC,由系统自动检测来保持对象和销毁对象。ARC引用了自动释放池,即在自动释放池中创建对象,当自动释放池被释放的时候,这些被创建的对象会自动被销毁。

希望有更好的答案,期待您的回答!

0 个回复

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