由于移动设备内存有限,为了设备能够正常运行,因此就需要通过内存管理来维持。
1、内存分配方式:
(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行 期间都存在。例如全局变量,static变量。
(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结 束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配 的内存容量有限。
(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内 存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常 灵活,但问题也最多。
2、内存管理的范围:
主要是对继承了NSObject的对象进行管理。基本数据类型是没有内存管理的。
对象类型是程序运行过程中动态分配的,存储在堆区;内存管理主要是对 堆区中的对象的内存管理。 |
|