专栏首页测试一般不一般简单实用靠谱的安卓专项测试工具
原创

简单实用靠谱的安卓专项测试工具

该工具可以用来测试安卓APP专项测试中的流量,内存,cpu,fps等测试项

一、该工具使用环境:

需要安装JDK和SDK,Python,并且配置环境变量才可使用;

测试设备安卓系统要>=5.0系统以上

关闭电脑上关于百度助手,手机助手等占用adb端口的软件

对于fps的获取,Android 6.0以下系统需要进入系统设置-GPU呈现模式分析,选中在adb shell dumpsys gfxinfo 中

二、手机通过USB先连接电脑,连接好后,输入adb devices,会显示连接的设备(注:电脑只连接1台手机)

三、点击性能监控程序,展开的页面,其中设备号不用填写,因为只连接1台手机,对于网络类型,如果手机WIFI网络就不用选择,如果是蜂窝数据也就是移动数据,那就要选上,然后在根据要监控的参数进行选择,选择后,在输入包名,包名的获取这边就不说明,再怎么不懂找开发,对于监控的数据也可以导出excel然后制作图表;

四、选择好以后,就点击开始,开始数据的采集,如下图:

其中:关于红色字体显示分为两部分,其中fps,就是当>=16.6的时候,会显示红色,也就是可能需要性能优化的地方,另外一个地方就是显示当前操作页面的Activity,不是该测试包的会显示红色,其他还有一个要说的网速,就是时刻检查当前app网路速度,这个对测试流量或者平常app刷新不出来,可以直接判断出来;

五、点击停止,会统计出操作多久耗费的流量多少,如下图;

以上,就是该工具常规使用,设计原理也很简单,只是“拼拼凑凑”:

内存:

通过adb shell dumpsys meminfo + 包名获取的pss tatal 总内存

cpu:

通过 adb shell top  -d 1 | grep 包名  获取cpu和获取手机是几核,然后进行相除,来知道cpu百分比

流量:

获取被测app的pid,然后catproc/pid/net/dev,里面的wlan0 代表无线网络,移动网络rmnet0,部分设备的移动网络有的是rmnet_data0

网速:直接后1s的值扣去前1s得到的值就是网速

fps:

通过adb shell dumpsys gfxinfo "PACKAGE_NAME" framestats来获取,

获取到的根据手机系统有两种方式,一种是直接获取到1s刷新的值,一种是120帧的值,两种方式,都要算出平均帧/s,然后倒数算出s/帧,帧率

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 安卓APP性能监测工具的Q&A

    通过 adb shell dumpsys activity activities | grep intent 获取

    厦门-安仔
  • 4399AT功能更新

    由slide和orientation,click,origin 组成多场景测试要求;

    厦门-安仔
  • Android app 功能代码覆盖率--Jacoco(二)

    1.在项目根目录下,进入dos,运行:gradlew.bat jacocoInit,会再app下生成code-voerage文件夹

    厦门-安仔
  • Mybatis_总结_05_用_Java API

    使用 MyBatis 的主要 Java 接口就是 SqlSession。你可以通过这个接口来执行命令,获取映射器和管理事务。

    shirayner
  • Docker Swarm 服务发现和负载均衡原理

    Docker 使用了 Linux 内核 iptables 和 IPVS 的功能来实现服务发现和负载均衡。

    用户1257215
  • java 多线程暂停与恢复:suspend,resume

    这边做了一个小测试: 实现了runnable接口,在方法中打印count的值: int count =0; @Override public void ...

    用户1215919
  • 小程序上手实测:每个喜欢玩手机的人,都会爱上这款小程序

    知晓君
  • 开源 | 最牛无监督学习BigBiGAN预训练模型

    近日,DeepMind发布了预训练的BigBiGAN表示学习模型,开源代码可以在TF Hub上找到。

    昱良
  • 《Springboot极简教程》 Springboot plus Kotlin :Hello,WorldKotlin, Console: Hello,WorldSpringBoot Kotlin JP

    https://github.com/MiniSpringBootTutorial/mini_springboot/blob/master/src/main/k...

    一个会写诗的程序员
  • python pandas 基础之一

    pandas的两大数据结构:Series和DataFrame. Series用于储存一个序列一样的一维数据;DataFrame用于多维数据。

    小末快跑

扫码关注云+社区

领取腾讯云代金券