Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 了解dumpsysmeminfo_Android_Memory_Android Binder - Fatal编程技术网

Android 了解dumpsysmeminfo

Android 了解dumpsysmeminfo,android,memory,android-binder,Android,Memory,Android Binder,我有两个问题 在dumpsys meminfo中,有一个名为localbinders的数字。这是什么意思?它只是一种本机指针吗?在哪些情况下,这个数字会增加?我观察到,当这个数字增加到1000左右时,应用程序甚至模拟器都会崩溃 在内存使用部分,有三列:native、dalvik和total,以及total=native+dalvik。那么为什么这两个部分(native和dalvik)加在一起呢?dalvikheap不是指Java堆吗?Java堆应该是Unix进程数据部分的一部分 通过阅读源代码可

我有两个问题

  • dumpsys meminfo
    中,有一个名为
    localbinders
    的数字。这是什么意思?它只是一种本机指针吗?在哪些情况下,这个数字会增加?我观察到,当这个数字增加到1000左右时,应用程序甚至模拟器都会崩溃

  • 在内存使用部分,有三列:
    native
    dalvik
    total
    ,以及
    total=native+dalvik
    。那么为什么这两个部分(
    native
    dalvik
    )加在一起呢?dalvikheap不是指Java堆吗?Java堆应该是Unix进程数据部分的一部分


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

  • 我认为本地活页夹是活页夹服务, 例如,当处理来自zygote的fork时,框架将创建一个作为绑定服务的ApplicationRead
  • 每次进程创建活页夹服务时,数量都会增加

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

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