android 模拟器 /proc/meminfo 不显示正确的值

StS*_*der 5 linux android memory-management

我有一个 Android 应用程序,仅当设备具有 512MB 或更多 RAM 时才启用某些功能。该应用程序从 /proc/meminfo(来自 Native C++ 代码)读取 memtotal 以确定设备的 RAM 大小。

我正在尝试在运行 Android 4.1 的模拟器中安装此应用程序。我已将此模拟器的 RAM 大小设置为 1024,但 memtotal 仍然仅显示516312 KB。我尝试将 RAM 大小增加到 1536 (1.5GB),但 meminfo 文件中的 memtotal 值仍然保持不变。我知道一些内存是为内核和一些预定义位保留的。但缺少一整GB的内存让我毫无头绪。下面是我的 meminfo 文件。

MemTotal:         516312 kB
MemFree:          282584 kB
Buffers:            1056 kB
Cached:           105976 kB
SwapCached:            0 kB
Active:           141696 kB
Inactive:          75880 kB
Active(anon):     122328 kB
Inactive(anon):        0 kB 
Active(file):      19368 kB
Inactive(file):    75880 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        110560 kB
Mapped:            57468 kB
Slab:               5080 kB
SReclaimable:       1568 kB
SUnreclaim:         3512 kB
PageTables:         4132 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      258156 kB
Committed_AS:    1898016 kB
VmallocTotal:     450560 kB
VmallocUsed:       20564 kB
VmallocChunk:     423940 kB
Run Code Online (Sandbox Code Playgroud)