iOS 内存的几大区域

·  阅读 910

几大区域简介

栈区(stack):

由编译器管理(分配释放)存放函数参数值、局部变量的值(函数中的基本数据类型)栈区的操作方式类似数据结构中的栈(先进后出)。

堆区(heap):

由程序员管理(分配释放),若程序员不释放,程序结束时可能由系统(OS)回收,存放程序员new出来的对象。堆的操作方式与数据结构中的堆不同,操作方式类似于链表。

全局区(又称静态区)(static):

由编译器管理(分配释放),程序结束后由系统释放。存放全局变量和静态变量。有两块区域组成全局区(静态区),一块是存放未初始化的全局变量和静态变量,另一块是初始化完成的全局变量和静态变量,这两块区域是相邻的

文字常量区:

由编译器管理(分配释放),程序结束后由系统释放。存放常量字符串。

程序代码区:

存放函数的二进制代码

分类:
iOS
标签: