一、Emmagee简介
Emmagee主要用于监控单个App的CPU,内存,流量,启动耗时,电量,电流等性能状态的变化,且用户可自定义配置监控的频率以及性能的实时显示,
并最终生成一份性能统计文件。Emmagee是网易杭州研究院QA团队开发的一个简单易上手的Android性能监测小工具。
二、功能介绍
1.检测应用从启动开始到当前时间消耗的流量数;
2.检测当前时间被测应用占用的CPU使用率以及总体CPU使用量;
3.检测当前时间被测应用占用的内存量,以及占用的总体内存百分比,剩余内存量
4.测试数据写入到CSV文件中,同时存储在手机中;
5.在浮窗中可以快速启动或者关闭手机的wifi网络;
6.可以选择开启浮窗功能,浮窗中实时显示被测应用占用性能数据信息。
三、Emmagee使用
1.下载地址:https://github.com/NetEase/Emmagee/releases
2.运行安装好的Emmagee,右上角设置采集频率,列表中会默认加载手机安装的所有应用,选择需要监控的APP;
3.选择要测试的APP,点击“开始测试”,被测APP会被启动;
4.开始执行APP功能测试,测试过程中会记录相关性能;
5.测试完成之后回到Emmagee界面,点击“结束测试”,测试结果会保存在指定目录的CVS文件中(本次演示是保存在手机内部存储的Emmagee目录下),
生成的CVS文件内容如下:
6.将CVS文件中的数据拷贝到Excel(或另存为Excel)文件中生成图表,使用Excel自带的统计图标功能生成统计图即可清晰看到整个操作过程中CPU、内存等
关键数据的变化。生成统计图步骤:
(1)将“时间”列去掉日期,只保留时分秒;
(2)将不需要的列隐藏,只保留需要分析的列;
(3)选中时间列和需要统计的列,生成图表,如下图:
内存:
7.数据性能指标
- 应用占用内存PSS(MB):应用当前占内存的大小;
-
应用占用内存比(%):应有占总内存的百分比;
-
机器剩余内存(MB):机器当前剩余内存;
-
应用占用CPU率(%):应用占用总CPU的百分比;
-
CPU总使用率(%):CPU的总使用率,包括当前应有,和系统的所有运行的应有;
-
CPU0-CPU3是因为手机是多核的(4核显示cpu0-cpu3,8核显示到cpu0-cpu7)
-
流量(KB):从检测开始共耗用的流量;
-
电量(%):剩余电池的百分比,包括其他应用的,这个是有误差的,所以测试期间尽可能关闭其他软件,或者期间别操作其他的应用,避免带来误差;
-
电流(mA):小于0是放电大于0是充电;
-
温度(C):手机当前的温度;
-
电压(V):未知;
- 帧率:不确定是两次取数之间的平均帧率还是取数据的瞬间帧率。
8.设置
(1)采集数据可以在Emmagee右上角设置中设置采集频率,默认为5;
(2)邮件配置
(3)在Emmagee查看测试报告;
(4)常见问题及解决方案
(1)以下不受支持的设备意味着某些性能数据将在监控时显示“null”或“N/A”;
(2)CSV文件打开时可能会出现乱码的情况
(1)Excel打开CSV默认使用ANSI编码,如果手机上保存的CSV是utf-8或其他编码,就会出现乱码。
(2)如何转码:先在CVS文件上右键单击,用“记事本”打开,然后点击“文件—另存为”,在编码那里选择“ANSI”,保存,然后用excel打开即可解决乱码的问题。
9.Android版本限制
Android 5.0及以上版本:不推荐使用getRunningTasks()和getRunningAppProcesses(),只返回您的应用程序进程,因此无法从Android 5.0获取TopActivity。
Android 7.0:谷歌限制访问/ proc,也无法从Android 7.0中的TOP命令获取目标应用程序的pid,因此不能支持7.0及以上版本。