A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 910428147 中级黑马   /  2016-4-3 08:01  /  996 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

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

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

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

3 个回复

倒序浏览
牛逼啊,有点深奥了
回复 使用道具 举报
我感觉把内存比作一个房间的话,静态区就是房间原来就放好的实物,栈区就是门牌号地址,堆区就是实际的房间了
回复 使用道具 举报
嗯 差不多,基础部分比较好理解   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马