关于安卓性能测试,各种方案层出不穷,各种工具也是林林总总。作为刚接触安卓测试的小白,也是跃跃欲试。经过一段时间的学习和调研,完成了一个简易的性能测试小工具,分享在这里。希望和大家交流一下,学习经验。
这个小工具是需要通过 adb 安装的,但是测试时可以完全脱离 adb,独立运行在安卓手机上。为了方便实时在手机上展示具体的采集数据,我们的工具是存在一个悬浮窗的设置。
工具会对安卓性能参数中的 CPU 占有率,内存消耗量,帧率(FPS),以及部分机型的 GPU 使用率进行实时收集,并且汇总上传到平台网站做数据可视化的展示。
工具实时采集的频率为每秒一次,具体测试时长不做限制。
工具采集出的 CPU 占有率,是通过读取安卓系统中/proc
目录下的系统文件获取原数据后计算得出的。
工具主要是采集了目标进程的 USS 和 PSS 两个内存信息。具体我们是使用android.os.Debug.MemoryInfo
库中的 API 接口来获取数据的。
FPS(frame per second),即为我们平时所说的帧率。工具采集出的 FPS,是通过安卓系统内部的dumpsys
工具来获取系统渲染服务的具体信息并计算获得的。
工具目前只支持对高通 Adreno
型号的 GPU 进行了使用率的采集。具体是使用了/sys/class/kgsl/kgsl-3d0/gpubusy
系统文件中的 GPU 运行信息。
可以登录http://epgm.netease.com/ 来下载我们工具的安装包。安装包中除了包含核心的 apk 包体,还有一些安装时需要用到的脚本文件。
完成下载之后,我们得到名为EPGM.zip
的压缩包。解压文件后,我们得到如下文件夹。
在使用install.bat
脚本进行安装之前,我们先需要保证我们的安卓手机已经被电脑中的adb
识别到。确认识别到之后,双击install.bat
脚本进行工具安装。脚本运行完之后,我们会在手机上得到一个名为EPGM
的工具应用。
完成上述步骤之后,我们开始正式使用工具EPGM
。打开工具,首先我们在主界面中看到当前设备中安装的大部分应用。我们可以直接点进我们要测的应用进行测试,但是开始测试之前,需要先登录一下。切换到用户界面,点击二维码登录
。那二维码在哪里呢?
打开网站(需登录)上的EPGM登录
二维码进行扫描,完成用户登录。
完成登录之后,就可以在应用界面选择想要测试的应用,并且进入测试。进入测试后,我们会帮用户打开被测试的应用。
进入应用后,点击浮窗上的开始按钮,我们就开始对我们的应用进行性能监控了~~
测试结束之后,点击浮窗上的暂停按钮。回到工具里,进入报告界面。我们会发现之前的测试已经形成一份报告存储下来。
具体查看完成的测试报告,是需要我们将报告上传到网站上。在报告界面,选中要上传的报告,点击左上红色的上传 logo。上传完成之后,我们在网站上进入测试面板
,就能查看报告的可视化结果。
如果我们在测试开始时,或者测试过程中遇到浮窗爆出S404
的情况,请将设备使用 adb 连接到电脑上,并运行安装文件夹中的repair.bat
脚本进行修复。
以上就是关于我们小工具的介绍。欢迎大家来试用哈~http://epgm.netease.com/ ,有任何疑问也可以一起讨论~
看到测试报告里帧率那个图,还有超过 60 帧的
赞一个↑
跟之前的 emmageee 对比,多了哪些东西呢?
这个跟 emmagee,GT,易测什么的区别在哪里啊?
手机需要 root 吗
报错了
上传报告失败
三星 note5 进入应用测试后,没看到 EPGM 浮窗,已经允许在其他应用的上层显示了
楼主,有 bug,我用的魅族 pro7 7.0 手机,发现这个 fps 没数据显示
我就随便找个游戏,我用的是贪吃蛇,这个工具,我在相机界面好像也是没数据,最重要的是测试完,发现没报告。我本地下载的 apk 好像跟你们截图的 apk 界面不一样
给大佬疯狂点赞
不支持 python3,差评
这个厉害,今天还在试 GameBeach,没想到就看到这个。
不过登录的时候好像不是用网易账号啊?
牛逼牛逼!!
登录后二维码不显示。show_qrcode is not defined
您好 S404 的问题 执行文件之后也不行
sdk27 8.1.0
8.1 需要在开发者选项中,把调试功能都打开,包括运行 ADB 调试等。同时,8.0 以上系统不能断开 ADB 连接。这个部分我们还在想办法。
很好用,点个赞
点击左上角的 “上传”,总是报 “上传失败”,求解!
流量,电量可以测吗?
你们的 emmageee 还更新吗?
怎么注册账号
啥时候适配 python3 啊
把监控这个很简单的事搞的复杂了,最不厚道的是要上传生成报告。安卓上做监控不建议用 apk 的形式,主要的问题是:
1、监控是要后台持续运行的,而国内五花八门的系统都会有一个后台查杀策略,跑在安卓层面的监控是受管理的
2、cpu、内存、fps、gpu、电量、温度、屏幕亮度、cpu 主频等数据无非是 dumpsys 取服务信息或 proc 节点,取出来保存为 csv 本身就是挺简单的事,技术点是获取数据的代码逻辑效率
3、至于生成趋势图就更不是大问题了,python+highcharts 框架直接解决
最初我搞 fps 计算方案就是看不上 gamebench,取个帧率还做个 app 还要登陆收费,做个测试工具不能开放些?本身就不是什么有技术壁垒的事
悬浮窗的方式有利有弊,优势是操作中随时可关注,弊端是额外增加了绘制开销。
现在扫码登录会失败。。。为什么啊
有没有 iOS 的?
MAC 下能用吗?
为什么我无法扫码登陆
通过读/proc 获取 cpu 数据不需要 root?
很迷啊,为什么 apk 成功安装后,进入到目标页面,显示的数值一直是 s404 啊,有哪位大佬遇见过这种情况,求科普
补充下,手机版本是安卓 6.0
网址进不去呢