Android内存映射

Android内存映射,android,memory-management,Android,Memory Management,你好,我有一个关于Android内存管理的问题。当我通过adb读取进程的内存映射时,如下所示: cat /proc/12345/maps 我得到这个结果: ... b76df000-b76e7000 rw-p 00187000 08:06 870 /system/lib/libandroid_runtime.so b76e7000-b76e8000 rw-p 00000000 00:00 0 b76e8000-b76e9000 r--p 00000000 00:00 0

你好,我有一个关于Android内存管理的问题。当我通过adb读取进程的内存映射时,如下所示:

cat /proc/12345/maps
我得到这个结果:

...
b76df000-b76e7000 rw-p 00187000 08:06 870        /system/lib/libandroid_runtime.so
b76e7000-b76e8000 rw-p 00000000 00:00 0 
b76e8000-b76e9000 r--p 00000000 00:00 0          [anon:linker_alloc]
b76e9000-b76ea000 rw-p 00000000 00:00 0          [anon:linker_alloc]
b76ea000-b76eb000 r--p 00000000 00:00 0          [anon:linker_alloc]
b76eb000-b76ec000 r--p 00000000 00:00 0 
b76ec000-b76ee000 rw-p 00000000 00:00 0 
b76ee000-b7704000 r-xp 00000000 08:06 295        /system/bin/linker
b7704000-b7705000 r-xp 00000000 00:00 0          [vdso]
b7705000-b7706000 r--p 00016000 08:06 295        /system/bin/linker
b7706000-b7707000 rw-p 00017000 08:06 295        /system/bin/linker
b7707000-b7708000 rw-p 00000000 00:00 0 
b7708000-b770c000 r-xp 00000000 08:06 229        /system/bin/app_process32
b770c000-b770d000 r--p 00003000 08:06 229        /system/bin/app_process32
b770d000-b770e000 rw-p 00000000 00:00 0 
bf15a000-bf15a000 ---p 00000000 00:00 0 
bf15a000-bf959000 rw-p 00000000 00:00 0          [stack]

我看不到堆的线。堆空间不是总是存在并且应该列在进程的内存映射中吗?

您没有看到这样的条目吗

12c00000-12e07000 rw-p 00000000:04 25425/dev/ashmem/dalvik主空间(已删除) 12e07000-12e97000 rw-p 00207000 00:04 25425/dev/ashmem/dalvik主空间(已删除) 12e97000-1ec00000---p 00297000 00:04 25425/dev/ashmem/dalvik主空间(已删除)


Dalvik/Art通过ashmem分配堆。显然,在本机进程中不会看到这些内容。

是的,我看到了。谢谢你的建议。我是这个领域的新手,我没有意识到这种情况。我只找了堆。