您的位置:首页 > 其它

oc 之内存管理 ——小结(3)

2016-03-20 20:51 218 查看
内存空间分为堆和栈

对象的内存空间放在堆里,(动态产生)不可能随便回收。

局部变量放在栈里,代码块运行完就回收了。

每一个oc对象都有一个引用计数器(4个字节),放在对象里。表示引用的次数。

引用计数器的操作

1.当使用alloc , new 或者 copy 创建一个对象时,新对象的引用计数器默认是1.

2. 当一个对象的引用计数器为0时,对象占用的内存就会被系统回收。

3. 给对象发送 retain消息就可以给计数器加一。(retain 方法返回对象。)

4. 给对象发送一个 release 消息,可以使引用计数器减一。

5. 可以给对象发送一个 retainCount消息获得当前的引用计数器数值。

对象的销毁

1.当一个对象的引用计数器材数值为0时,那么它将销毁,其占用的内存被系统回收。

2. 当一个对象被销毁时,系统就自动向对象发送一条 dealloc消息

3. 一般会重写 dealloc 方法,在这里释放相关资源,dealloc 就像对象的遗言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: