------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一 内存管理的概念
在日常生活当中,我们所使用的移动设备的内存是及其有限的,在使用中总是发觉不够用,每个安装在手机中的软件所占用的内存是严格要求的。当软件所占用的内存很多时系统会发出警告,这时得回收一些不需要使用的内存空间就显得尤为重要。如果不对内存进行优化处理和释放的话,程序就会出现卡死,闪退等现象,甚至造成整个设备的崩溃。因此在手机生产商想方设法提供更大内存的同时,对我们编程人员来说,学会内存管理就尤为重要。
二 内存管理的范围
管理任何继承NSObject的对象,对其他的基本数据类型无效,OC对象变量是存放于堆里面,非OC对象一般放在栈里面,这时是靠系统为我们进行回收的。
三 内存管理的分类
OC语言中,有三种内存管理方式:
MannulReference Counting,简称为MRC,也就是手动管理
automatic reference counting,简称为ARC,自动引用计数
garbage collection,意为垃圾回收
四 内存管理的原则
1)当某个对象在被使用时,对象就不会被回收。若意图使用这个对象,那么就让这个对象的引用计数器+1,反之则让这个对象的引用计数器-1。
2)谁创建,谁release。(这里的创建是指通过new alloc init copy来创建)
3)谁retain 谁 releas