本文共 888 字,大约阅读时间需要 2 分钟。
工具地址 :
这里有两种方式:一是以插件的方式集合到eclipse中,二是直接下载MemoryAnalyzer(免安装);
对于生成hprof文件,Android studio 3.0之后的版本和3.0之前的版本可以说是完全不一样的,如果你使用过eclipse开发过Android,那就很容易知道的,这里就不详细介绍了。
这里以Android studio 3.0之后的版本来做说明。
点击如下按钮:
之后就会出现一个Android Profiler的控制面板,这里就是android studio给我们提供的内存分析的地方,关于Android Profiler的详细使用这里不做介绍,这里主要看MEMORY,点击如下红色区域:
接着就进入到了实时内存区域
上面三个标记按钮的作用:
1、内存回收;
2、堆转储,将此时堆内存中的对象记录导出到hprof文件中;
3、一段时间内堆内存中的分配记录,比如:点击开始,操作app,操作结束后,再次点击结束,这时就会生成一个记录了这段时间内堆中生成的对象。
这里要生成hprof文件,当然就是点击2了,之后就会出现一个堆记录面板,如下图:
在点击上面的红框按钮,就可以生成一个hprof的本地文件了,此时文件是生成了,如果这时就用MAT工具去打开,是会报错的,这时因为MAT是用来分析java文件的,与android studio导出的hprof文件有一点不同,这时就需要用到一个android sdk包下的一个工具hprof-conv.exe,将导出的hprof文件在进行转换一下,位置如下图:
接下来打开控制台,切换到hprof-conv.exe所在目录,执行:hprof-conv 源文件 输出文件,如下图:
这里的D:\album.hprof就是android studio导出的hprof文件,而D:\album1.hprof就是转换后的文件,这也是MAT可以打开的文件,这样整个流程就全部完成了,接下来要做的就是去分析了,这里先不做介绍,等待下一篇再来。