ARC 内存管理的思考方式

1.自己生成的对象,自己持有

2.非自己生成的对象,自己也能持有

3.不再需要自己持有的对象时释放

4.非自己持有的对象无法释放

引用计数式内存管理的思考方式仅此而已。按照这个思路,完全不必考虑引用计数。

OC的内存管理方法,不包含在语言中,而是包含在Cocoa框架中,其Foundation框架类库的NSObject类担负内存管理的职责。

使用一下名称开头的方法名意味着自己生成的对象只有自己持有:

1.alloc

2.new

3.copy

4.mutableCopy

除此之外的方法生成的对象不是自己持有的,可以使用retain让自己持有,但有义务release。

-(id)object{

idobj=[[NSObjectalloc]init];

[objautorelease];

//取得的对象存在,但不是自己拥有

returnobj;

}

释放非自己持有的对象会造成崩溃

你可能感兴趣的:(ARC 内存管理的思考方式)