OC----内存管理,对象被回收,引用计数器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/damys/article/details/87069132

1.2 内存管理的范围:

只需要管理存储在堆中的OC对象的回收.其他区域中的数据的回收是系统自动管理的.

1.3 对象应该什么时候被回收?

当有人使用这个对象的时候,这个对象就千万不能回收.
只有在没有任何人使用这个对象的时候,才可以回收.

1.4. 引用计数器

1) 每1个对象都有1个属性叫做retainCount(引用计数器). 类型是unsigned long 占据8个字节.
    引用计数器的[作用]: 用来记录当前这个对象有多少个人在使用它.
    默认情况下,创建1个对象出来 这个对象的引用计数器的默认值是1.
2) 当多1个人使用这个对象的时候.应该先让这个对象的引用计数器的值+1 代表这个对象多1个人使用.
3) 当这个对象少1个人使用的时候.应该先让这个对象的引用计数器的值-1 代表这个对象少1个人使用.
4) 当这个对象的引用计数器变为0的时候.代表这个对象无人使用. 这个时候系统就会自动回收这个对象.

猜你喜欢

转载自blog.csdn.net/damys/article/details/87069132