Android:常量内存消耗/ dumpGfxInfo()

时间:2015-08-15 12:07:48

标签: java android memory android-studio

鉴于:使用Android Studio向导创建的简单活动,内部没有任何自定义代码,消耗永久内存调用dumpGfxInfo()。

Android Studio在Allocation Tracker中的构建显示至少三个线程做同样的事情:

 --- 8< ------------------------------------------------------------------

 * < Thread 12 > 
   * execTransact():446, Binder (andoroid.os)   
     * onTransact():545, ApplicationThreadNative (android.app)
       * dumpGfxInfo():1107, ActivityThread$ApplicationThread (android.app)

 --- 8< -------------------------------------------------------------------

显然dumpGfxInfo()通过为空字符串分配内存来消耗内存。编译的唯一相关依赖项是 com.android.support:appcompat-v7:22.2.1

随着这种内存消耗,出现以下异常(有时):

15331-15364/ W/Binder﹕ Caught a RuntimeException from the binder stub implementation.
    java.lang.NullPointerException: Attempt to read from field 'android.view.HardwareRenderer android.view.View$AttachInfo.mHardwareRenderer' on a null object reference
            at android.view.WindowManagerGlobal.dumpGfxInfo(WindowManagerGlobal.java:466)
            at android.app.ActivityThread$ApplicationThread.dumpGfxInfo(ActivityThread.java:1107)
            at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:548)
            at android.os.Binder.execTransact(Binder.java:446)

问题:如何修复/关闭此行为并摆脱它?

3 个答案:

答案 0 :(得分:28)

有关进一步参考以及来自此处的任何人:您必须禁用GPU分析,因为默认情况下它未被禁用(Android Studio 2.1预览版4)。 您可以在&#39; Monitors&#39;中找到按钮。部分(见下图)enter image description here

答案 1 :(得分:20)

似乎是最新的Android Studio错误。 旧版本没有此问题。 见this link

答案 2 :(得分:1)

所描述的行为已在最新的SDK更新1.4 Beta(Build AI-141.2202261)中修复。