iOS-ARC(Automatic Reference Counting)

ARC(Automatic Reference Counting)是iOS系统上进行内存管理的机制。

定义

ARC实现了OC Objects以及Blocks的自动内存管理,但是其并不提供循环引用的检测,需要手动打破循环,或者使用weak以及unsafe引用。

开启和关闭ARC的编译选项:

1
2
-fobjc-arc   
-fno-objc-arc

支持的对象指针

ARC支持的对象指针包含三类:

  • Block指针;
  • OC对象指针(id, Class, NSFoo*等);
  • __attribute__((NSObject))标识的指针。

其他指针均不支持,例如int*和CFStringRef。