我只是想知道如何在Android中使用内存分析器工具。请告诉我如何操作以了解特定项目的内存泄漏情况。有人可以为此提供逐步操作步骤吗?
我只是想知道如何在Android中使用内存分析器工具。请告诉我如何操作以了解特定项目的内存泄漏情况。有人可以为此提供逐步操作步骤吗?
就这样了。您将看到可能存在泄漏的列表,但其中一些是误报。我建议您运行要检查泄漏的活动几次,然后再次运行MAT。
查看以下文章:
还要查看这些SO帖子:
当你没有使用android.permission.WRITE_EXTERNAL_STORAGE时,写入hprof会失败。作为一个特殊情况,当你在设备上进行测试时,请检查你的SD卡是否连接在仅充电模式下,否则你将无法在SD卡上进行写入操作。
安装MAT。
转到工具->Android ->Android设备监视器(DDMS)
在左上角的设备下,选择项目名称并单击更新堆。
然后单击转储HPROF文件并将其保存在桌面上。
然后运行命令提示符并指出Android-sdk目录。
例如:hprof-conv位于E目录中。因此,请运行以下命令:cd android/sdk/platform-tools
。
最后,根据此doc引用运行此命令以将此文件格式转换为在MAT中读取它。
E:\Android\sdk\platform-tools> hprof-conv "C:\Users\Steve\Desktop\yourfilename.hprof"
"C:\Users\Steve\Desktop\leakage.hprof"
现在您的文件将转换为leakage.hprof。检查此文件并在MAT中打开它。
编辑: 点击 详情,然后它会显示类名。在那里 左键单击 -> 路径到GC根 -> 带所有引用
。然后它会显示类名。
1.4
或 1.5
。
在这个版本中,Android 支持了一个新的工具,叫做 Analyzer Task
。
它非常有用,可以避免内存泄漏。