OOM分析
来源:互联网 发布:jira linux 破解版 编辑:程序博客网 时间:2024/05/17 22:09
OOM分析
1,dump命令使用:
busybox watch -n 3 -d dumpsysmeminfo${pid} 如: busybox watch -n 3 -d dumpsys meminfo com.gala.video
命令作用: 每隔3s打印一次dump命令
正常操作回到HomeActivity时,Activities应该为1,如果进入到 某二级页面(Activities:2) ,然后退出,回到HomeActivity。(Activities:1)。
如果回到HomeActivity,Activities不为1,说明有内存泄漏。
或者说如果进入到 某二级页面,然后退出该二级页面后,Activities:X ,X值没有回归到原值,或者说X值+1,说明该二级页面有内存泄漏
2.抓取信息
Android studio 中Android Monitor ----- > Monitors+ -------->Memory -------->Dump Java Heap 工具
运行要分析的程序,进行响应操作,后点击Dump Java Heap 按钮,稍等片刻,或生成一个 .hprof 文件,如 AAA.hprof
3.AMT 分析
1.使用android SDK 自带工具 android-sdk\platform-tools\hprof-conv.exe 进行文件转化
如 hprof-conv AAA.hprof AAAConveted.hprof (转换后的文件,可以使用MAT进行分析)
2.首先需要去下一个MAT工具。(可以是eclipse插件形式,也可以单独运行)
3.用AMT--File---openHeapDump-- 选择文件如:AAAConveted.hprof
4.Histogram-- 搜索 包名:com.gala.video 或是已知Acitivity泄漏的情况下:输入 Activity 结果如下:
(看到 下图MultiSubjectActivityUIKIT 的 objects 值为8 ,很显然该Activity存在内存泄漏)
5。选择要分析的Activity右键--Merge Shortest Root to GC Path -Exclude weak/soft reference
6.找到内存泄漏的代码:
(结合实际代码,分析,找到原因:注册了observer监听,没有释放,导致Activity无法销毁)
- OOM分析
- Java OOM分析
- oom-kill分析
- oom-kill分析
- OOM(out_of_memory) killer分析
- OOM(out_of_memory) killer分析
- OOM killer分析
- OOM(out_of_memory) killer分析
- Android OOM分析总结
- android oom分析
- OOM(out_of_memory) killer分析
- OOM原理分析
- android oom 分析
- android OOM异常分析
- 关于OOM问题分析
- android oom分析步骤
- Android OOM分析
- mat分析oom
- ZooKeeper_14_Leader选举
- CCF模拟试题之中间数
- 配置hive以及自定义版本MySQL
- 第一个c程序
- 拼凑面额
- OOM分析
- 【清华集训2017模拟】Sequence
- HDU 1686 Oulipo——kmp
- 前端工程师必备的几个实用网站
- canvas-shooting-game 记录与思考
- MyBatis3文档阅读(二)之Property的加载顺序
- hdu1003-最大子段和&细节-Max Sum
- 美图笔试题
- python--利用datetime模块计算时间差