通过Android studio 的profiler工具与eclipse的MAT进行问题分析
MAT工具下载地址:https://www.eclipse.org/mat/downloads.php
QQ图片20200407164642.png先说下Android内存抖动的基本原因:
短时间内有大量的对象创建与销毁,它伴随着频繁的GC。(比如字符串的拼接)
分析内存抖动流程:
1.打开profiler
QQ图片20200407170424.png
2.选择MEMORY模块---》点击Record录制一段时间的内存状况--》
4. QQ图片20200407171806.png
然后去相应的代码里去查找内存抖动的原因。
内存泄漏的原因:
程序种已动态分配的堆内存由于某种原因,程序未释放或无法释放,造成系统内存的浪费。
长生命周期对象持有短生命周期对象强引用,从而导致短生命周期对象无法被回收。
分析步骤:
1.点击Record旁边的下载按钮(jump java head)看图
QQ图片20200407180332.png
这里保存的文件不能被MAT直接查看,需要通过Android 的sdk目录下的platform-tools--》hprof-conv.exe工具转换;命令行为:hprof-conv -z memory-20200407T150515.hprof 1.hprof
QQ图片20200407182111.png QQ图片20200407183131.png其他具体的分析,可自行百度MAT分析内存的方式方法。
做个记录(我是个健忘的人。)
网友评论