内存分析工具在android?

我只是想知道如何在Android中使用内存分析工具。 请告诉我如何做到这一点,以了解特定项目的内存泄漏。 有人可以给我这个步骤明智的程序。

  1. 在Eclipse中打开DDMS透视图。
  2. select设备选项卡。
  3. select一个你想转储的进程。
  4. 点击转储HPROF文件button。 假设安装了MAT,转储将被打开,MAT窗口将被打开。
  5. 在向导窗口中select“ 泄漏可疑人员报告” ,然后单击“ 完成”

就这样。 你会列出可能的泄漏清单,但其中有些是误报。 我build议你运行一个想要多次检查泄漏的活动,然后再次运行MAT。

尝试使用内存分析工具(MAT)

看这些文章:

  • 使用DDMS
  • 跟踪内存分配
  • 避免内存泄漏

也看看这些SOpost:

  • Android ==>内存分析==> Eclipse内存分析器?
  • 哪些Android工具和方法最适合查找内存/资源泄漏?

当你没有使用android.permission.WRITE_EXTERNAL_STORAGE时,写入hprof失败。 作为在设备上testing的一个特殊情况,请检查您的SD卡是否连接在充电模式,否则您不会有SD卡上的写入权限

  • 安装MAT 。

  • 进入工具 – > Android – > Android设备监视器(DDMS)

  • 设备下的左上angular,select项目名称,然后单击更新堆

  • 然后点击转储HPROF文件并将其保存在桌面上。

  • 然后运行命令提示符并指出Android-sdk目录。

    例如: hprof-conv位于E目录中。 所以运行命令为cd android/sdk/platform-tools

  • 然后最后运行这个命令,通过引用这个文件来转换这个文件格式在MAT中读取它。

    E:\ Android \ sdk \ platform-tools> hprof-conv "C:\Users\Steve\Desktop\yourfilename.hprof" "C:\Users\Steve\Desktop\leakage.hprof"

  • 现在你的文件将被转换为leak.hprof.check这个文件,并在MAT中打开它。

编辑:单击详细信息 ,然后显示类名称。在该Left Click -> Path To GC Roots ->With all references 。然后显示类名称。

方形开源内存分析工具: LeakCanary 。

LeakCanary的核心是MAT。

我build议看看泄漏金丝雀 。 这不是一个内存分析仪本身,而是更多的泄漏检测器。 只要使用你的应用程序,打开和closures活动,让图书馆做的工作。 它甚至会告诉你发生泄漏的位置。 只要泄漏分析器有一定的时间在泄漏发生后进行工作 – 通常需要大约2分钟或更长时间才能find泄漏源。

请更新到Android Studio版本1.41.5 。 在这个版本中,android已经支持被称为Analyzer Task新工具。避免内存泄漏非常有用。