Android dumpsys meminfo "Swapped Dirty" 列是什么意思?

Android dumpsys meminfo "Swapped Dirty" coloumn meaning?

有很多关于 "adb shell dumpsys meminfo" 输出的问题,例如: adb shell dumpsys meminfo - What is the meaning of each cell of its output? 现在我们有了这篇描述内存分配类型的好文章: https://developer.android.com/tools/debugging/debugging-memory.html

然而,没有提到 "Swapped Dirty" 类型的内存分配。这是什么兽? AFAIK,Android 不会交换脏页,但有时我会在该列中得到非零值:

                  Pss  Private  Private  Swapped     Heap     Heap     Heap
                Total    Dirty    Clean    Dirty     Size    Alloc     Free
               ------   ------   ------   ------   ------   ------   ------
 Native Heap     3861     3844        0     2024     7128     6801      326
 Dalvik Heap     7073     6996        0     5408    45111    31778    13333

一些 Android 设备确实使用交换,但它们交换到 RAM 而不是闪存。 Linux 有一个称为 ZRAM 的功能,可以压缩页面,然后将它们交换到一个特殊的 RAM 区域,并在需要时再次解压缩。

因此 "Swapped Dirty" 中列出的页面很可能在 ZRAM 中。