OC中内存管理原则

内存管理原则    OC的内存管理只针对object对象

1.使用all、new创建对象,引用计数为1.
2.使用retain、copy去描述对象时,引用计数+1.
3.使用release、 autorelease可以让引用计数-1。
4.保证让对象引用计数增加的关键字和让引用计数减少的关键字 配对。
5.全局变量在dealloc中释放    
       - (void)dealloc
{
    [p1 release];
    [superdealloc];
}
6.当对象释放的时候会调用自身的dealloc方法。
7.使用+方法创建的对象,引用计数会自己减掉。
8.在方法内部创建的对象,在外面使用时,需要用autorelease(不是立刻-1,而是在以后的某个时刻)。
9.局部变量不用时释放。


让对象引用计数增加的操作
1.用addsubview方法 把一个空间增加到视图上会让这个控件的引用计数+1.
2.把一个对象添加到数组中,数组内部会把这个对象的引用计数+1.
3.属性赋值 会让对象的引用计数+1.
4.xib中得控件跟代码关联之后,会让对象的引用计数+1。
5.push这个操作会让对象的引用计数增加。
6.@  property 表示声明了一个属性 默认生成对应的 setter 和 getter 方法
 @property在 .h中定义代表共有的,在.m代表私有的。
“set方法” = “get方法”
7.[people alloc]init 与[people alloc]new区别   init具有多态化,而new没有。
8.只有UI有tag值。
9.谁创建 谁释放 谁引用 谁管理    (释放的时对象内存控件,而不是指针内存)
10.指针指向
11.alloc 、retain、retaincount 和release 成对对应 
12.removeFromSuperview会执行release操作

以上均为自己总结,要是有不正确或不完整还希望大家能补充下哦~~微笑

你可能感兴趣的:(内存)