iOS开发学习之内存管理笔记简述

来源:互联网 发布:淘宝靠谱法国代购推荐 编辑:程序博客网 时间:2024/04/27 22:36

       大家好。今天简述一下iOS当中的内存管理,自从iOS5出现后,apple增加了ARC机制以后,给开发人员带来了不少的方便,为了来更好地去理解,我们还是有必要去了解的。


1. 在OC中,每个对象都有一个保留计数器,每当我们创建一个对象时都有一个初始值为1的保留计数,每当释放的时候,保留计数都为0;


 2. 创建自动释放的对象

要求以一个方法创建对象时,以自动释放的形式返回该对象是一个很好的编程习惯和编程实践。实现代码如下:

+(Person*)person 

{

     Person *per = [Person alloc] init];

     return [per autorelease];

}


3.创建已保留属性

@property(retain)NSArray *colors;

synthesize创建后,自动保留该对象,如果该对象被重新赋值后,前面的值将会被自动释放。


4.创建对象的其他方式

一般规则:通过alloc.new.create.copy的任意方法构建一个对象,就必须承担起释放对象的责任。和类方法不同,带这些字样的方法一般不会返回自动释放的对象


5.释放对象

释放属性:self.year = nil;会调用OC合成的定义赋值方法,并释放以前赋值给该属性的任意对象

释放实例变量(非属性):[age release];实例变量在对象生命周期内,随时可以指向一个保留计数+1的对象必须释放当前赋值给age的任意对象,从而将计数置为0;




 







1 0
原创粉丝点击