范围:
任何继承了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.