内存泄露(OOM):是指不再使用的对象持续占有内存,造成内存空间的浪费。
工具和命令:
- HPROF文件:HPROF可以监控CPU使用率,堆分配统计
- MAT工具:用来打开HPROF文件,下载地址官方http://www.eclipse.org/mat/
生成HPROF文件命令:adb shell am dumpheap <进程名> <保存路径>
这个导出来的hprof文件不能直接被MAT查看,需要转换为MAT可读文件指令:
hrpof-conv <原hprof文件路径> <转换后的hprof路径>
查看应用内存命令:adb shell dumpsys meminfo <进程名>
基本测试步骤:
1、运行monkey或者固定自动化用例
2、监控内存值,如果出现过大等递增异常则保存hprof文件
3、对保存的hprof文件进行转化为MAT可读文件
4、使用MAT打开文件,对多个文件进行对比分析
自动监控内存值的shell脚本如下,mac用shell方便,windows可写批处理文件
#!/bin/bash
adb shell dumpsys meminfo com.snda.wifilocating | grep “Pss” | grep “Heap”
while true
do
var=adb shell dumpsys meminfo com.snda.wifilocating | grep &