版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fly1183989782/article/details/81143225
观看 Fixing Memory Issues、App Startup Time: Past, Present, and Future 两个视频的总结。
一、Virtual Memory VS Physical Memory
Virtual Memory 是开发者视角的 memory,会分多个 region(code region、heap region(maybe))),region 再分多个 page,virtual memory 会按需加载 page 到 physical memory。
一、Clean Memory VS Dirty Memory
clean memory 是 readonly 的内存,系统内存紧张的时候,可以直接丢弃,需要时重新加载的 memory。
dirty memory 是可以可能被修改的内存,系统内存紧张的时候,不能直接丢弃,需要 swap 到 disk 上。iOS 系统没有 swap 的机制,系统很需要内存的时候,是通过 kill 进制来回收这部分 dirty memory 的,所以要格外的关注 dirty memory 的使用情况。
一、Private Memory VS Shared Memory
代码区映射到内存中,会是 Shared Memory。Mallco 区、栈区是 Private Memory。所以说进程会拥有自己的内存空间。