IPHONE是利用类对象的引用计数值来管理内存的,只有当类对象的引用计数值减少到0(理论值,尽管在实际测试过程中,他的值总是=1)的时候,IPhone系统才会回收这个部分内存。
今天我就说下,对象引用计数增加的情况。
因为在实际的编码过程中,我们必须要控制对象的引用计数,也就需要时刻了解对象的引用计数值,那么就需要知道什么时候类对象的引用计数值什么时候增加了,什么时候减少了,这样才能准确的对类对象进行精确的控制。
对于那些能够让引用计数增加的情况如下:
1:使用类属性的赋值模式
2:将一个对象添加到数组当中
3:将一个ViewController对象PUSH到UINavigationController的时候,对象的引用计数增加一个,当该对象Pop出来后,该兑现的引用计数就-1
今天要说明的一个情况是,将一个类对象作为一个子视图添加另一个视图当中的情况:
如果一个视图类对象作为一个子视图添加到另外一个视图对象中去,如下面的代码所示:
[self.view addSubView:SomeViewConroller.view];
那么该子视图的引用计数值不会增加1
这一点是需要注意的,这一点也是我一直迷糊的地方,今天经过实际的测试,理解了这一点。
THE END !
2011-10-26