黑马程序员技术交流社区

标题: 内存管理的概念 [打印本页]

作者: 910428147    时间: 2016-4-3 08:01
标题: 内存管理的概念
由于移动设备内存有限,为了设备能够正常运行,因此就需要通过内存管理来维持。
1、内存分配方式:
(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行 期间都存在。例如全局变量,static变量。

(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结 束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配 的内存容量有限。

(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内 存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常 灵活,但问题也最多。

2、内存管理的范围:
        主要是对继承了NSObject的对象进行管理。基本数据类型是没有内存管理的。
       
        对象类型是程序运行过程中动态分配的,存储在堆区;内存管理主要是对 堆区中的对象的内存管理。


作者: xiexueqin    时间: 2016-4-3 21:55
牛逼啊,有点深奥了
作者: muzipiao    时间: 2016-4-3 22:51
我感觉把内存比作一个房间的话,静态区就是房间原来就放好的实物,栈区就是门牌号地址,堆区就是实际的房间了
作者: UKnowINeedYou    时间: 2016-4-3 23:54
嗯 差不多,基础部分比较好理解   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2