内存分析工具在android?
我只是想知道如何在Android中使用内存分析工具。 请告诉我如何做到这一点,以了解特定项目的内存泄漏。 有人可以给我这个步骤明智的程序。
- 在Eclipse中打开DDMS透视图。
- select设备选项卡。
- select一个你想转储的进程。
- 点击转储HPROF文件button。 假设安装了MAT,转储将被打开,MAT窗口将被打开。
- 在向导窗口中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.4
或1.5
。 在这个版本中,android已经支持被称为Analyzer Task
新工具。避免内存泄漏非常有用。