0

我正在尝试查看哪些对象占用了我的应用程序中的大部分内存。
使用 Android 的工作室 Android->Memory 选项卡,我可以看到内存是如何增加的,但我看不到哪些对象占用了多少内存。
我使用 DDMS 来获取 hprof,并从 Memory 选项卡中进行了 start alocation tracking 和“Dump Java Heap”。
我安装了独立垫,但是当我尝试打开 hprofs 时,我得到了两个:

打开堆转储“Snapshot_2016.01.08_19.00.05.hprof”时出错。检查错误日志以获取更多详细信息。

问题是什么?
我的 Android Studio 版本是 1.3.2

4

1 回答 1

2

使用 Android 的工作室 Android->Memory 选项卡我可以看到内存是如何增加的,但我看不到哪些对象占用了多少内存

您可以从该内存选项卡中的工具栏在 Android Studio 上生成堆转储。这将打开类似于 MAT 的工具,供您细读内存中的对象。

Android Studio 1.5.1,显示堆转储

打开堆转储“Snapshot_2016.01.08_19.00.05.hprof”时出错。检查错误日志以获取更多详细信息。

Android 使用的堆转储格式与 MAT 使用的一种略有不同。您的 Android SDK 中有一个hprof-conv工具platform-tools/可以准备文件的 MAT 友好版本.hprof

文档对此有一些材料。

于 2016-01-08T20:45:39.890 回答