1

我有两个问题。

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

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

4

2 回答 2

0
  1. 我认为本地binder是一个binder服务,比如框架会创建一个ApplicationThread,它是一个binder服务,当进程从zygote分叉时。

每次进程创建一个 binder 服务时,数量都会增加。

更重要的是,binder 需要在内核空间中分配的 binder 缓冲区,而内核空间对系统来说是非常宝贵的,所以,过多的 binder 服务可能会造成一些麻烦。

  1. 本机堆供 c/c++ 使用,当您调用 malloc 时,new 。dalvik heap 是供 java 使用的,它由 dalvik(GC ?) vm 管理,当你调用 new 来创建 java 对象时
于 2015-04-17T03:52:49.363 回答
-2

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

于 2012-08-13T03:59:21.840 回答