IOS 简单内存管理

来源:互联网 发布:如何才能进去sci数据库 编辑:程序博客网 时间:2024/06/05 18:19

1.  

  self.label  会使label的引用计数+1,有多少个self.引用计数就增加几次。

  [self.view addSubView:]语法同样会使引用计数加一



2常用的写法一般是

@property (retain) UIlabel *label;



UILabel *temp = [[UILabel alloc] init];

self.label = temp;

_label.frame = CGRectmake(…..);

[self.view addSubview: _label];


[temp release];



-(void)dealloc

{

[_label release];

[super dealloc];

}



@synthesize时内存第一次会增大一些(不用在dealloc中释放)



xib文件的控件的内存不是立刻释放,而是有系统控制,我们只需要做好我们release就行

如果你在一个函数中创建并返回一个对象,那么你需要把这个对象声明为autorelease 


      (ClassA  *)Function() 


      { 


           ClassA *a = [[[ClassA   alloc]  init]  autorelease]; 


           return a; 


      }

记住原则,只要出现allocretaincopyrelease,谁操作谁就release,全局变量要在dealloc中release。


0 0