开发者iOS BlogiOS知识收集

深入浅出-iOS内存分配与分区

2016-02-15  本文已影响5973人  Yangsc_o


1. RAM ROM

RAM:运行内存,不能掉电存储。ROM:存储性内存,可以掉电存储,例如内存卡、Flash。
由于RAM类型不具备掉电存储能力(即一掉电数据消失),所以app程序一般存放于ROM中。RAM的访问速度要远高于ROM,价格也要高。

2. App程序启动

App程序启动,系统会把开启的那个App程序从Flash或ROM里面拷贝到内存(RAM),然后从内存里面执行代码。
另一个原因是CPU不能直接从内存卡里面读取指令(需要Flash驱动等等)。

3. 内存分区:

  • 栈区(stack):
- 存放的局部变量、先进后出、一旦出了作用域就会被销毁;函数跳转地址,现场保护等;
- 程序猿不需要管理栈区变量的内存;
-栈区地址从高到低分配;     

如下图所示:代码区存放于低地址,栈区存放于高地址。区与区之间并不是连续的。

****注意事项****

其它操作系统


上一篇下一篇

猜你喜欢

热点阅读