android使用mat分析内存泄漏
16lz
2021-01-26
环境:eclipse,ddms,mat(内存分析工具)
参考文献:http://blog.csdn.net/wangchun8926/article/details/8550745
下载地址:http://www.eclipse.org/mat/downloads.php
使用步骤
1.运行手机端程序,进入待测试内存状态页面
2.使用eclipse ddms 获取当前内存快照,并保存1.hprof文件
选择应用,点击箭头按钮
3.操作应用到功能页面并返回待测试页面(不要gc)重复2操作保存2.hprof文件
4.重复3保存3.hprof文件
5.命令行将android的hprof转换成java的hprof文件(使用的android sdk Tools目录下的hprof工具)
命令:D:\lwh\Software\adt-bundle-windows-x86-20130219\sdk\tools\hprof-conv.exe eBest.mobile.android3.hprof 3.hprof
6.运行mat.exe打开3个hprof文件
7.在histogram点击右键打开菜单添加到对比列表中
8.将3个文件的histogram添加到对比列表,然后点击感叹号对比
9出现分析页面
分析内存泄漏
1.objects列表表示个数,shallow heap表示堆内存
2.第一列表示java的数据类
3.Regex栏输入查找自定义类
4.通过分析哪一个类增加过快,就可以判断为该类没有释放,导致内存溢出
ps:使用findbug可以静态检测代码例如流没关闭,游标未关闭等导致的内存溢出
更多相关文章
- Android(安卓)Studio的使用总结
- Android利用ViewFlipper实现屏幕切换动画效果
- android MVC中如何在在controller中进行页面跳转(到其他Activity
- 安全卫士笔试 第一天
- Okhttp的简单介绍和使用(一)
- ffmpeg入门教程之Android使用FFmpeg so(封装格式转换)
- Android(安卓)JNI 开发简单介绍
- 在Ubuntu 16.04上为树莓派(RaspBerry Pi 3)编译Android(安卓)7(No
- Android中Dialog自带蒙层适配状态栏