背景:
在做android客户端测试的时候,有时候需要监控cpu/mem/电量消耗/界面加载时间/流量等等指标。于是俺们就上下求索,网友告诉我两个方案:AnotherMonitor和Emmagee,在此之前,我自己写了一个工具,下文就这几个方案做一下比较和说明。
AnotherMonitor和Emmagee都是apk的形式存在的,下面是官网:
https://code.google.com/p/anothermonitor/
https://github.com/NetEase/Emmagee
看看介绍:
AnotherMonitor is an application for Android which monitors and records thememory and CPU usage values of the mobile phone. Thus, the program is intendedfor anyone whom would be interested in knowing the mobile resources state.
001.png
Emmagee功能介绍:
1、检测当前时间被测应用占用的CPU使用率以及总体CPU使用量
2、检测当前时间被测应用占用的内存量,以及占用的总体内存百分比,剩余内存量
3、检测应用从启动开始到当前时间消耗的流量数
4、测试数据写入到CSV文件中,同时存储在手机中
5、可以选择开启浮窗功能,浮窗中实时显示被测应用占用性能数据信息
6、在浮窗中可以快速启动或者关闭手机的wifi网络
002.png
两个工具的功能比较相似,后者多一个流量的监控,优点是只需要安装到安卓手机上就可以使用,缺点是程序本身对手机资源也是有影响的,监控的内容还不够丰富。
我自己写了一个工具,进行资源参数的搜集,主要依赖手机自带的命令行。
主要使用了命令:getprop 和dumpsys
文件清单:
l getdatav1.bat
l getdatav2.bat
l android日志分析.xls
l 无线ADB连接android手机和电脑.docx
说明:
第一个版本是usb线连接pc和手机,当时手机root后安装了busybox,所以各类命令都齐全,于是getdatav1.sh中你会发现都是linux命令;
第二个版本:由于大多数手机都不会安装busybox,没有什么awk,sed一类的命令,所以就getdatav1.sh修改为getdatav2.sh,以前的awk、sed等命令都不再使用,改用dos批处理进行文本处理。
运行程序的过程是先运行 getdata.sh,文件中有详细使用说明,生成一大堆的采集回来的数据文件,然后打开excel文件,点击生成,将之前批处理采集的数据文件加载到一个excel文件中,并生成图表。
在测试的过程中发现usb线连接pc,会导致手机一直在充电,所以又搞了个无线方案,保证电量消耗的准确。
或许可以配套monkeyrunner跑上几个小时,将crash的次数和log都一起生成到报告里面。这样更有实际意义。有空再做吧。
下载链接:
http://download.csdn.net/detail/testingba/7716309
Android客户端性能参数监控