当我在不同的 Android 版本设备上运行同一个应用程序时,我发现在 Android 8.1 上/dev/ashmem/dalvik-main 空间(区域空间)的虚拟内存为 1GB(如下所示,大小:1048576 kB)。 0,太大了。但在 Android 7.1.2 上,大约为 0.375GB(2116kB + 194492kB + 196608kB)。如何在 Android 8.1.0 上减少它?
在安卓 8.1.0 上
S102X_32:/proc/30015 # cat smaps
12c00000-52c00000 rw-p 00000000 00:01 14821 /dev/ashmem/dalvik-main space (region space) (deleted)
Size: 1048576 kB
Rss: 664 kB
Pss: 550 kB
Shared_Clean: 0 kB
Shared_Dirty: 228 kB
Private_Clean: 0 kB
Private_Dirty: 436 kB
Referenced: 436 kB
Anonymous: 664 kB
AnonHugePages: 0 kB
Swap: 1980 kB
SwapPss: 990 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 0 kB
VmFlags: rd wr mr mw me ac
在 Android 7.1.2 上
translator:/proc/891 # cat smaps
12c00000-12e11000 ---p 00000000 00:01 19060 /dev/ashmem/dalvik-main space (deleted)
Size: 2116 kB
Rss: 0 kB
Pss: 0 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 0 kB
Anonymous: 0 kB
AnonHugePages: 0 kB
Swap: 0 kB
SwapPss: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 0 kB
VmFlags: mr mw me ac
12e11000-1ec00000 ---p 00211000 00:01 19060 /dev/ashmem/dalvik-main space (deleted)
Size: 194492 kB
Rss: 0 kB
Pss: 0 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 0 kB
Anonymous: 0 kB
AnonHugePages: 0 kB
Swap: 0 kB
SwapPss: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 0 kB
VmFlags: mr mw me ac
32c00000-3ec00000 rw-p 00000000 00:01 19061 /dev/ashmem/dalvik-main space 1 (deleted)
Size: 196608 kB
Rss: 416 kB
Pss: 416 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 416 kB
Referenced: 416 kB
Anonymous: 416 kB
AnonHugePages: 0 kB
Swap: 0 kB
SwapPss: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 0 kB
VmFlags: rd wr mr mw me ac