欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

ARC内部工作原理

程序员文章站 2022-06-05 08:42:40
    什么是arc automatic reference counting,自动引用计数,即arc,可以说是wwdc2011和ios5所引入的最大的变...

 

 

什么是arc

automatic reference counting,自动引用计数,即arc,可以说是wwdc2011和ios5所引入的最大的变革和最激动人心的变化。

 

 arc 会自动帮助你添加 retain 和release/autorelease语句。

 

 

arc编译器分为(1)前端编译器 (2)优化器

 
(1)前端编译器 ----给“拥有的”每个对象插入相应的release语句。----某个方法里面创建了一个对象,前端编译器会在方法末尾自动添加release语句销毁它。----类拥有的对象(实例变量/属性)在dealloc方法内释放

 

  (2)arc优化器---当代码中出现多个对 retain 和release的重复调用,arc优化器负责移出多余的 retain 和release语句。

 

 

 

 

 

如果需要持有一个对象,那么对其发送retain 如果之后不再使用该对象,那么需要对其发送release(或者autorealse) 每一次对retain,alloc,copy,mutable copy或者new的调用(自动引用计数+1),一次release或autorealse调用 (自动引用计数-1).