Android是否支持虚拟内存概念?我读到它确实使用分页但不使用交换空间。也就是说,它在很大程度上依赖于能够 mmap() 文件并根据需要从文件中获取内核页面(并在不需要时删除这些页面)。然而,它不使用交换空间来分页脏页。
可以请一些机构详细说明吗?
Android是否支持虚拟内存概念?我读到它确实使用分页但不使用交换空间。也就是说,它在很大程度上依赖于能够 mmap() 文件并根据需要从文件中获取内核页面(并在不需要时删除这些页面)。然而,它不使用交换空间来分页脏页。
可以请一些机构详细说明吗?
Android 确实支持虚拟内存概念。Android内核确实支持swap。您可以通过在内核源的.config文件中查找“CONFIG_SWAP=y”来确认。
但是启用交换也应该使用交换分区并运行“swapon”。因此,虽然内核支持 SWAP,但 android 内核不使用它。您也可以通过android的adb shell中的“cat /proc/meminfo”来确认它。
PS:分页和交换空间不是一回事。
以下是一些与android内存管理相关的链接。 http://mobworld.wordpress.com/2010/07/05/memory-management-in-android/ http://android-developers.blogspot.kr/2011/03/memory-analysis-for-android.html
Android 使用虚拟内存但未在 android 内核中启用交换分区