二.性能测试工具——Emmagee
Emmagee是一款简单易用的Android性能检测小工具,主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化。
1)通过官方网站安装(个别机型目前不支持),设置“应用退出后台后仍可监听”便于自动化测试。
2)通过adb命令在sdcard目录下pull出测试结果csv文档(也可通过app配置邮箱,发送到自己的邮箱)。
3)查看测试结果csv文档,这里以百度浏览器app为例,测试结果如下。
注释:
已知部分不支持的机型可在此查阅:https://github.com/NetEase/Emmagee/wiki/Some-devices-are-not-supported
电流: 小于0是放电大于0是充电
启动时间: 为空是应用已启动或者未搜集到启动时间
N/A: 不支持或者数据异常
4)利用excel的功能生成统计图,方便分析。
该工具测试的结果可作为测试参考,另外对于帧率还可以用FPS Meter工具进行测试。
三.利用adb命令监测app相关性能信息
在这里就不一一演示了。
//内存使用率
1.adb shell dumpsys meminfo <pakagename>
2. 通过android提供的API来测试(ActivityManager.MemoryInfo())
//CPU占有率
1.adb shell top
2.adb shell dumpsys cpuinfo
//功耗
1.adb shell dumpsys battery
2.通过android本身的API来测试(ProwerManager.WakeLock)
//查看总体的CPU占用 # cat /proc/stat //查看进程的CPU占用 # cat /proc/<PID>/stat //查看总体的RAM # cat /proc/meminfo | head -n 4 //查看进程的RAM # dumpsys meminfo <packagename> # dumpsys meminfo <PID> //查看进程的当前RAM # procrank //开机后的总流量(字节数) # cat proc/self/net/dev //上传流量/上行流量 # cat /proc/uid_stat/2000/tcp_snd //下载流量/下行流量 # cat /proc/uid_stat/2000/tcp_rcv |
四.稳定性测试/压力测试
在前面的博客常用的adb命令中介绍过adb shell monkey来对app进行压力测试,请参考。