了解dumpsys meminfo

时间:2012-07-27 18:52:13

标签: android memory android-binder

我有两个问题。

  1. dumpsys meminfo中,有一个号码为Local Binders。这是什么意思?它只是一种原生指针吗?在哪种情况下这个数字会增加?我观察到当这个数字增加到大约1000时,应用程序甚至模拟器都会崩溃。

  2. 在内存使用情况部分,有三列:nativedalviktotaltotal=native+dalvik。那么为什么这两个部分(nativedalvik)加在一起呢?不是dalvik堆指的是Java堆,它应该是Unix进程数据部分的一部分吗?

2 个答案:

答案 0 :(得分:0)

  1. 我认为本地粘合剂是粘合剂服务, 比如框架将创建一个ApplicationThread,它是一个绑定器服务,当从zygote进行fork处理时。
  2. 每次进程创建活页夹服务时,数量都会增加。

    更重要的是,binder需要在内核空间中分配的binder缓冲区 内核空间对于系统非常有价值,因此,过多的绑定服务可能会造成一些麻烦。

    1. 本机堆用于c / c ++,当你调用malloc时,new。 dalvik堆是供java使用的,它是由dalvik(GC?)vm管理的,当你调用new来创建java对象时

答案 1 :(得分:-2)

通过阅读源代码可以最好地理解dumpsys的输出。