如何理解Android内存管理中的分页和内存映射

时间:2017-03-28 17:09:10

标签: android memory memory-management paging virtual-memory

从这个答案https://stackoverflow.com/a/17478535/1727934,我们可以知道,Android不支持虚拟内存。

然后从维基百科,我们可以知道:

  

分页是虚拟内存实现的重要部分

https://en.wikipedia.org/wiki/Paging

但根据官方文件,我们可以看到:

  

Android Runtime(ART)和Dalvik虚拟机使用分页和内存映射(mmapping)来管理内存。

https://developer.android.com/topic/performance/memory-overview.html

我对此感到困惑:分页用于虚拟内存,但Android不支持虚拟内存,因此分页意味着什么在Android?

1 个答案:

答案 0 :(得分:1)

问题在于历史上术语逻辑内存翻译虚拟内存翻译已经混淆。逻辑存储器涉及逻辑页面到物理页面帧的映射。虚拟内存涉及将逻辑页映射到磁盘上的物理页框和辅助存储。在8MB多用户计算机的时代,逻辑内存和虚拟内存总是一起使用。

现在我们拥有内存为千兆字节的计算机,因此对磁盘和内存之间移动页面的虚拟内存的需求不断减少。但是,逻辑内存转换的好处仍然存在。

将内存划分为映射到物理页面帧的逻辑页面。