内存管理中的retain和release用法

来源:互联网 发布:选课软件 编辑:程序博客网 时间:2024/05/14 04:48

范围:

任何继承了NSObject的对象,对基本数据类型无效。

原理:

1,每个对象内部都保存了一个与之相关联的整数,称为引用计数器。

2,当使用alloc,new或者copy创建一个对象时,对象的引用计数器被设置为1

3,调用对象的retain方法,可以使引用计数器值+1

     调用对象的release方法,可以使引用计数器值-1

4,当一个对象的引用计数器的值为0时,那么它将被销毁,其占用的内存会被系统回收,OC也会自动向对象发送一条消息dealloc消息(即调用dealloc            方法),一般情况下要重写dealloc方法,在这里释放相关的资源。一定不要直接调用dealloc方法。

5,可以调用对象的retainCount方法获取当前对象的引用计数器值。


内存管理原则:

1,谁创建,谁释放。如果你创建了一个对象,那么,你一定要调用release或者autoRelease。

2,谁retain, 谁release 。只要调用了retain,无论对象是如何生成的,你都要调用release.

0 0