关于“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
答案 0 :(得分:1)
有些Android设备确实使用swap,但它们交换到RAM而不是闪存。 Linux有一个名为ZRAM的功能,它压缩页面然后将它们交换到一个特殊的RAM区域,并在需要时再次解压缩。
因此,“Swapped Dirty”中列出的页面可能出现在ZRAM中。