如何使用 android 工作室分析内存

最近从 Eclipse 转到了 android 工作室。如何在 android 工作室中检查应用程序堆和内存分配?在 Eclipse 中我们有 MAT,在工作室中是否有任何东西可以检查堆转储,hprof 文件?

70794 次浏览

我会用简单的步骤来解释:

  1. 首先,您必须安装 垫子(下载)或使用:

    酿造桶安装记忆分析器

  2. 在 Android Studio 中打开 Android 设备监视器或 DDMS。

  3. 选择您的进程“ com.example.etc.”

  4. 单击流程列表上方的“更新堆”。

  5. 在右侧面板中,选择 Heap 选项卡。

  6. 点击原因 GC。

  7. 单击进程列表上方的 DumpHPROF 文件。

  8. 当我们下载文件 HPROF,我们必须打开终端和运行这个命令生成的文件打开它与 MAT。

  9. 打开终端并运行此命令

./hprof-conv path/file.hprof exitPath/heap-Converted. hprof

命令“ hprof-conv”位于 sdk 的 Platform-tools 文件夹中。

  1. 并且 ready 和 MAT 可以打开和打开转换后的文件(堆转换后的. hprof)。

除下列步骤外,我同意上述答案

  1. 单击流程列表上方的“更新堆”。

  2. 在右侧面板中,选择 Heap 选项卡。

  3. 点击原因 GC。

没有必要。只需在 DDMS 中选择您的应用程序/进程,然后单击转储 HPROF 配置文件选项。然后,按照上面的步骤进行操作。

还有另一种看待资产配置的方式:

Start and stop allocation tracking

See the result

还可以通过以下方法获得更多选择,

  1. 转到 工具
  2. 然后到 仿生人
  3. 最后到 Android 设备监视器
  1. 首先安装 垫子,为了在 Android Studio 中使用它,您应该选择安装 Stand-alone Eclipse RCP Applications,它可以作为独立的工具使用

  2. 在 Android Studio 中,运行您的应用程序

  3. 在底部面板中,选择 6:Android,然后选择 Memory Monitor

  4. Dump Java Heap

  5. 切换到 Capture 选项卡(在左侧面板中) ,您可以在 Heap Snapshot文件夹中找到 .hprof文件

  6. 为了在 MAT 中打开 .hprof文件,您应该转换格式: 左键单击 .hprof文件,然后选择 Export to standard .hprof

  7. 打开 MAT,然后打开转换了格式的 .hprof文件

请注意,在最新的 Android Studio (1.3 +)中,堆(Android hprof)捕获被移动到 Android 选项卡下的 Memory Monitor 子选项卡(就像 cVoronin 答案中的第一张图片)。

捕获完成后,它将自动保存到项目下的“捕获”目录(如果愿意,可以根据实际情况重命名该文件)。在1.3 + 版本中,hprof 文件将在新的 hprof 查看器中自动打开。

当然,您总是可以选择将其转换为标准 hprof 格式并在 MAT 中查看它。只需在“捕获”浏览器中(在“项目”浏览器下)右键单击该文件,然后选择“转换”即可。和往常一样,由于标准的 hprof 不支持这些功能,因此在不使用新查看器的过程中,您可能会丢失一些额外的 Android 特定信息。

我从 Eclipse 切换到 Android Studio,但我仍然在 Eclipse 中使用带 DDMS 插件的 MAT。这样简单多了。

Android 监视器-> 监视器(logcat 旁边)-> 内存-> 转储 java 堆

enter image description here

我知道这是一个很老的问题,但 Android Studio 3现在有一个内置的分析器。

请参阅文档: Android Studio 3.0中的 Android Profiler

你可以在新的 android 工作室中使用 android 分析器。