Android /proc/pid/maps是什么意思?
当我分析一个应用程序内存问题时,我发现它的映射(Android /proc/pid/maps是什么意思?,android,linux,Android,Linux,当我分析一个应用程序内存问题时,我发现它的映射(cat/proc/pid/maps)如下: 903 5fec1000-5fec2000 r--s 00001000 b3:10 98 /system/app/PacProcessor.apk 904 5fec2000-5fec3000 r--s 00000000 b3:10 98 /system/app/PacProcessor.apk 905 5fec3000-5fed7000 r--s 00560000
cat/proc/pid/maps
)如下:
903 5fec1000-5fec2000 r--s 00001000 b3:10 98 /system/app/PacProcessor.apk
904 5fec2000-5fec3000 r--s 00000000 b3:10 98 /system/app/PacProcessor.apk
905 5fec3000-5fed7000 r--s 00560000 b3:10 125 /system/app/iReader.apk
906 5fed7000-5ff09000 r--s 0019a000 b3:10 125 /system/app/iReader.apk
907 5ff09000-5ff0b000 r--s 00043000 b3:10 81 /system/app/Galaxy4.apk
908 5ff0b000-5ff0c000 r--s 00042000 b3:10 81 /system/app/Galaxy4.apk
似乎此应用程序将其他应用程序的代码加载到其堆栈中
如何避免这种内存分配?来自Linux上的proc手册:
/proc/[pid]/maps
A file containing the currently mapped memory regions and their access permissions. See
mmap(2) for some further information about memory mappings.
进程名称是什么?如果这是一个系统过程,那么它是不可避免的。我猜你必须杀死应用程序本身才能释放这些资源。是的,这是一个系统应用程序(不是持久的,但安装在/system/app),但我在/system/app dir中检查了其他应用程序,它们没有这些分配。谢谢,我几乎知道它们的意思,但我不明白为什么这个应用程序有这么多这样的分配。我想减少这种内存分配