码迷,mamicode.com
首页 > 其他好文 > 详细

ARC 内存问题浅析

时间:2015-11-12 17:58:18      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

OC的ARC是编译时特性 :

系统会在编译时适当位置加上 release  ,autorelease ,retain,
程序运行流程 : 预编译—>编译—>汇编—>链接—>运行

在ARC 中 已经不能在使用release, autorelease, retain 但copy 依然可以使用并保留其原本的属性

-(void)dealloc{

在ARC 中  dealloc 方法中不能使用  [super dealloc]      
 但是 dealloc 方法依然有效(当前对象即将释放 执行该方法) 我们可以在这里进行一些操作 :例如 :移除通知 ,移除KVO

}

在ARC 中  :局部对象不需要内存管理 ,出了方法后会自动释放
                全局对象也不需要管理内存,但是要注意交叉(循环)引用

在ARC 中依然有内存泄露,循环导入的话还是会引起内存泄露 只要将其中一个引用改成weak即可
weak的存在就是为了防止循环引用;

strong :强引用
 强引用指向的对象不会被释放 一个对象没有强引用指向会立即释放
weak :弱引用
 弱引用指向的对象释放时 ,会自动置空

//创建对象指针当没有修饰词时 默认为strong

在ARC 中想要主动释放对象 只需要将strong 的指针置为空就好了,不需要担心过度释放;



 

ARC 内存问题浅析

标签:

原文地址:http://www.cnblogs.com/LkBolg/p/4959381.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!