一,内存管理概念:
1,内存管理的区域:
内存管理主要是对内存中的堆区进行管理;
2,内存管理的内容:
内存管理只针对继承NSObject的对象进行内存管理,也就是说基本数据类型是不需要内存管理的;
3,一个APP所占用的内存超过20M时,系统就会向该程序发出,内存警告.
4,内存管理的原理:
(1),通过对象的引用计数器(retainCount)管理,当调用对象的retain,new,alloc,copy方法时,引用计数加1;当调用对象的release,autorelease方法时,引用计数减1;
(2),当对象的引用计数器为0的时候,对象会被回收;
5,内存管理的分类:
(1),MRC,手动管理;
(2),ARC,自动管理;
6,当我们的对象被系统回收的时候,会调用NSObject的dealloc方法,我们可以理解为对象的"临终遗言";
7,重写dealloc方法时:
(1),先释放子类自己的对象的空间;
(2),再释放父类的;
- (void)dealloc
{
//1 先释放子类自己的对象的空间
NSLog(@"Person已经挂了");
//2 再释放父类的
[super dealloc];
}
|
|