内存优化是安卓中比较重要的一块,怎么知道那内存泄漏,才能进行优化。mat的使用分两步,第一获取hprof类型文件,第二转换成mat.hprof类型文件。
//第一步
使用AS(建议版本3.0以上,模拟器26以上),点击profile运行程序,效果如下。
//可以分析很多数据,比如耗电,内存...今天分析内存点击MEMORY,你操作APP需要测试的页面后,点击下载图标,选择左边需要分析的文件,保存到自己文件夹,(注意文件格式phrof)
//导出的文件是phrof格式文件需要转换成mat.hprof格式文件memory才能识别,
//需要SDK里面的一个工具,你配置好环境变量就可以使用(你可以查看你AS的SDK存放位置,看是否有这工具,环境变量是否配置好)
//配好了,就在你刚导入的phrof文件的文件夹顶部,输入cmd命令,例如我的保存在data文件夹
输入命令 hprof-conv -z 1.hprof 1-mat.hprof 回车
//1.hprof是你刚导入的文件名(需要对应), 1-mat.hprof是你转换后的文件名
在data文件夹生成1-mat.hprof文件就ok了
//使用memory工具 ,打开工具点击File》open head dump 导入刚转换的1mat.hprof文件。(提示错误可以忽略 finish掉),导入成功点击柱状图图标,
//在class name下面就可以搜素需要分析的类,例如我分析MainActivity
//点击C就可以分析mainactivity被引用关系,
DDMS 官方教程 http://developer.android.com/tools/debugging/ddms.html
MAT 下载 http://www.eclipse.org/mat/downloads.php
MAT 使用 http://android-developers.blogspot.tw/2011/03/memory-analysis-for-android.html