我知道Android中的任何应用程序都有一些分配的内存-
(1) Dalvik VM堆-严格的上限;取决于设备。
(2) 本机堆-没有限制。在执行Dalvik堆限制时,这里分配的内存量没有被考虑在内。
如果我错了,一定要纠正我。
我有一个关于这些的问题-
当两个应用程序在ashmem中共享内存时,在检查是否超过Dalvik堆限制时,是否考虑了共享内存量?我的意思是,当Dalvik堆限制被强制执行时,共享内存会增加吗?
您是正确的--Dalvik VM对托管堆强制执行限制,但对本机分配没有固定限制。
ashmem分配不属于Dalvik的托管堆,因此不计入托管堆限制。
当内核的低内存杀手正在寻找要丢弃的进程时,本机分配很重要。我不知道在计算进程使用情况时,是否使用PSS或其他措施来考虑共享内存。