Dumpsys meminfo:kB 还是 KB?

Bin*_*rub 5 android units-of-measurement adb

adb shell dumsys meminfo 返回的内存是以 kB 为单位还是以 KB 为单位?

在哪里:

kB = 1000 bytes    
KB = 1024 bytes
Run Code Online (Sandbox Code Playgroud)

Jef*_*man 9

它是 KB(1024 字节)或千比字节(KiB),与 printfs 中的 kB 表示法相反,正如您所说,它应该表示 1000 字节。

我是这样知道的。在我的 Linux 机器上,如果我这样做free -b

             total       used       free     shared    buffers     cached
Mem:    67459153920 60865880064 6593273856  307834880 1373028352 40107618304
Run Code Online (Sandbox Code Playgroud)

那么看看 67459153920 的总值。它以字节 (-b) 为单位。现在如果我查看 meminfo,

MemTotal:       65878080 kB
Run Code Online (Sandbox Code Playgroud)

67459153920 / 1024 = 65878080,因此该值的单位为 KB 或 KiB(1024 字节)。

https://en.wikipedia.org/wiki/Kilobyte

请注意,我在 Linux 桌面上对此进行了测试,因为 Android Linux 恰好不包含该free命令,而只是报告在 Android 的 Linux 内核级别实现dumpsys meminfo的结果。cat /proc/meminfofs/proc/meminfo.c

  • “你知道的方式 - 你只需查看源代码” - 你绝对应该将其发布在你自己的答案中,而不是批评我的。 (2认同)