Android内存泄漏-MAT篇
最近项目中的内存越来越大,于是了解关于Android内存分析相关的知识,用以解决实际问题。现在有很多好的内存分析工具比如: LeakCanary、DDMS、mat。 一、首先简单介绍下LeakCanary: 在build.gradle文件中添加 在应用的application onCreate方法中添加LeakCanary.install(this),如下 应用运行起来后,LeakCanary会自动去分析当前的内存状态,如果检测到泄漏会发送到通知栏,点击通知栏就可以跳转到具体的泄漏分析页面。 二、下面重点介绍下DDMS结合mat分析内存泄漏问题。 使用mat分析首先要通过eclipse或是Android studio生成hprof文件,然后使用命令cd到Android sdk的目录下: cd /usr/local/android/sdk/tools //改成自己的sdk目录 hprof-conv com.scics.huaxi.hprof ff.hprof //转换格式命令 这样就生成可供mat分析的hprof文件。http://www.eclipse.org/mat/ 此处可下载mat,可以下载独立版亦可以下载eclipse插件版,本人下的是独立版本。将我们得到的hprof文件导入mat中得如下结果: 深色区域的3.6MB、9.3MB、9.6MB标示有内存泄漏的