技术开发 频道

Objective-C内存管理入门系列篇

  九、Objective-C内存管理准则

  我们可以把上面的接口按对retainCount的操作性质归为两类,

  A类是加一操作:1,3,4

  B类是减一操作:2,5(延时释放)

  内存管理准则如下:

  1,A与B类的调用次数保持一制

  2,为了很好的保障准则一,以实例对象为单位,谁A了就谁B,没有第二者参与

  代码:

  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

  NSObject *o = [[NSObject alloc] init]; //retainCount为1

  [o retain]; //retainCount为2

  [o release]; //retainCount为1

  [o autorelease]; //retainCount为1

  [pool release]; //retaincount为0,触发dealloc方法

0
相关文章