我知道Android中的任何应用程序都有一些内存分配-
(1) Dalvik VM堆-严格的上限;设备依赖的。
(2)本地堆-无限制。在执行Dalvik堆限制时,不考虑在这里分配的内存量。
如果我错了,请纠正我。
关于这些我有个问题-
当两个应用程序在ashmem中共享内存时,在检查Dalvik堆限制是否被跨越时,是否考虑了共享内存的数量?我的意思是,当Dalvik堆限制被强制执行时,共享内存是否会添加到计数中?
发布于 2014-10-14 00:28:36
您是正确的-- Dalvik VM对托管堆强制执行一个限制,但是对本机分配没有固定的限制。
ashmem分配不是Dalvik的托管堆的一部分,因此不将其计算在固定的堆限制中。
当内核的低内存杀手正在寻找要丢弃的进程时,本机分配很重要。我不知道在计算过程使用时是否使用了PSS或其他措施来考虑共享内存。
https://stackoverflow.com/questions/26348386
复制相似问题