在设备使用过程中,依旧会优先使用真实内存,当内存不足时,系统就自动释放不常用的应用,并将其保存在 swap 空间中。
当用户切回应用时,系统自动从 swap 空间读取数据,再恢复到真实内存中,最终实现交换。
简单的来讲,正因为交换分区的存在,虚拟内存并不是越大越好。
如同文章开始所展示的,果子已经在 /data/ 目录下创建了 20G 的虚拟内存,通过检测工具测试可正常加载使用。
但是在真实使用下表现如何呢?
在打开一波应用后,我们发现,即使手机物理内存占用高达近 80% ,交换分区的虚拟内存依旧处于较低的占用。
因此,这里就不得出提出另一个关于虚拟内存调度的概念 swappiness 。