当启动一个app
当启动一个app程序,系统会把开启的那个app程序从ROM里面拷贝到内存(RAM)RAM的访问速度要远高内存卡(Flash)或ROM
,然后从内存里面执行。
内存分区:可以分为5个区
栈区(stack)— 这个一般由编译器操作,会存一些局部变量,函数跳转地址,现场保护等等
堆区(heap) — 一般由程序员管理,比如alloc申请内存
全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放。注意:全局区又可分为未初始化全局区:.bss段 和 初始化全局区:data段。举例:int a;未初始化的。int a = 10;已初始化的。
常量区 — 常量字符串就是放在这里的
代码区 — 存放代码,即app程序会拷贝到这里
app程序从ROM里面拷贝到内存(RAM)
。