您的位置:首页 > 其它

内存管理 ARC

2015-11-09 15:58 211 查看
ARC:Automatic Reference Counting(自动引用计数)

ARC的实现细节
➢ 编译器会自动在适当的地方插入适当的retain、release、autorelease语句

也就是说, 编译器会自动生成内存管理的代码,
不用程序猿手动编写

ARC的注意点
➢ ARC是编译器特性,而不是运行时特性

ARC不是其它语言中的垃圾回收, 有着本质区别

ARC的优点


完全消除了手动管理内存的烦琐, 让程序猿更加专注于app的业务
➢ 基本上能够避免内存泄露
➢ 有时还能更加快速,因为编译器还可以执行某些优化 

ARC的判断原则
     ➢ 只要还有一个强指针变量指向对象,对象就会保持在内存中
强指针
     ➢ 默认所有指针变量都是强指针

     ➢ 被__strong修饰的指针
弱指针
     ➢ 被__weak修饰的指针

ARC的使用细节
不能调用release、retain、autorelease、retainCount
可以重写dealloc,但是不能调用[super
dealloc]

ARC中的@property

strong
: 用于OC对象,
相当于MRC中的retain

➢ weak
: 用于OC对象,
相当于MRC中的assign

➢ assign
:
用于基本数据类型,
跟MRC中的assign一样

➢ copy
: 一般用于NSString,
跟MRC中的copy一样

MRC转为ARC: Xcode: Edit->Refactor->Conver to Objective-C ARC...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: