1. 安装eclipse内存分析插件 www.eclipse.org/mat
2. 进入adb shell, ps想要dump内存堆栈的进程,记录pid
3. 确保/data/misc有写入权限,没有的话执行chmod 777 修改该目录权限
4. 执行kill -10 pid,用adb logcat可以查看dump过程,
/dalvikvm( 237): SIGUSR1 forcing GC and HPROF dump
I/dalvikvm( 237): hprof: dumping VM heap to "/data/misc/heap-dump-tm1277353007-pid237.hprof-hptemp".
I/dalvikvm( 237): hprof: dumping heap strings to "/data/misc/heap-dump-tm1277353007-pid237.hprof".
I/dalvikvm( 237): hprof: heap dump completed, temp file removed
5. 然后,在/data/misc下查看是否产生了类似heap-dump-tm1277353007-pid237.hprof之类的文件,该文件即为dump出来的文件。
6. 用adb pull获得dump出来的文件
7. 用android提供的工具hprof-conv把dump出来的文件转换为mat可以读取的格式
8. 用mat打开转化后的文件格式进行分析
android内存泄露 mat
最新推荐文章于 2024-07-25 23:22:06 发布