1.定义:
引用计数是苹果对堆内存进行管理而使用的技术。
- 自己生成的对象,自己持有。
- 非自己生成的对象,自己也能持有。
- 不再需要自己持有对象时释放。
- 非自己持有的对象,无法释放。
2.使用引用计数的相关方法:
1.生成并持有对象,有4个方法: alloc,new,copy,mutableCopy。
2.持有对象有一个方法:retain
3.释放对象有一个方法:release
废弃对象有一个方法:dealloc
3.引用计数的实现:
CFBaseHashRef Table
苹果使用散列表(引用计数表)来管理引用计数。 表键值为内存块地址的散列值,保存引用计数。
在使用retain 和 release 等方法时, 苹果调用了 __CFDoExternRefOperation 方法,根据obj找到散列表中该对象的位置,然后对引用计数进行加减。
网友评论