在Android中强制执行Dalvik堆限制时计算共享内存



我知道Android中的任何应用程序都有一些分配的内存-

(1) Dalvik VM堆-严格的上限;取决于设备。

(2) 本机堆-没有限制。在执行Dalvik堆限制时,这里分配的内存量没有被考虑在内。

如果我错了,一定要纠正我。

我有一个关于这些的问题-

当两个应用程序在ashmem中共享内存时,在检查是否超过Dalvik堆限制时,是否考虑了共享内存量?我的意思是,当Dalvik堆限制被强制执行时,共享内存会增加吗?

您是正确的--Dalvik VM对托管堆强制执行限制,但对本机分配没有固定限制。

ashmem分配不属于Dalvik的托管堆,因此不计入托管堆限制。

当内核的低内存杀手正在寻找要丢弃的进程时,本机分配很重要。我不知道在计算进程使用情况时,是否使用PSS或其他措施来考虑共享内存。

最新更新