性能adb命令
启动时间-冷启动
启动App命令
adb shell am start -W -n com.bit_health.android/.ui.common.activities.BitHealthMainActivity
停止App命令
adb shell am force-stop com.bit_health.android
启动时间-热启动
启动App命令(与冷启动一样)
adb shell am start -W -n com.bit_health.android/.ui.common.activities.BitHealthMainActivity
停止App命令
adb shell input keyevent 3
监控包名,actvity名的命令
adb logcat|findstr START
找到的汇康e家包名activity名
com.bit_health.android/.ui.common.activities.BitHealthMainActivity
如何判断启动时间的好坏:
与竞品App的启动进行对比
使用时间戳差值来计算
自动化脚本的实现
1.获取命令执行时间,作为启动时间参考值
2.在命令前后加上时间戳,以差值作为参考值
CPU性能测试
adb shell dumpsys cpuinfo|findstr com.bit_health.android
写一个脚本定时的输出CPU的状态值
监控CPU命令时写一个自动化操作的脚本
CPU状态始终上升或者没有下降...这种CPU状态是不合理的
此时拿着这些数据去给开发提一些建议
流量监控
使用夜神模拟器进行adb连接的方法
跳转到F:\sdk\android-sdk-windows\platform-tools
执行 adb connnect 127.0.0.1:62001
1.adb shell ps|findstr com.bit_health.android
1.adb shell cat /proc/pid/net/dev
获取到流量值之后主要是与竞品或者之前的版本进行对比
1.与之前版本做相同操作所消耗的流量进行对比
!!新闻类的产品需要做流量监控
电量监控(电量测试时间最好在半个小时到一个小时以上)
获取电量
adb shell dumpsys battery
level表示电量百分比
主要是利用前后变化的两个level值做差,算出电量的一个变化
手机连接usb线之后会进入充电状态,需要切换到非充电状态
切换到非充电状态:
adb shell dumpsys battery set status 1(切换status几都可以只要不是2就行)
内存监控
获取内存
adb shell top -d 1
-d表示命令刷新的频率 -d 1表示1秒钟刷新一次
adb shell top -d 1>meminfo
需要获取两个数值
VSS-Virtual Set Size 虚拟耗用内存
RSS-Resident Set Size 实际使用物理内存
如果在长时间使用之后,内存处在一个稳定、恒定的状态
说明我们的app没有发生内存泄漏
连续测试两个小时之后才能发现问题..
在6M之内的变化可以认为是对app影响不大
如果差值达到了几百M...可以认为app发生了内存泄漏
每一轮测试的内存变化当成一个参考值
FPS&过度渲染
FPS frames per second-每秒的帧数
60帧。。。很流畅
开发者选项中的GPU呈现模式分析
选第二项在屏幕上显示为条形图
图形中的绿线表示fps的基准值16ms
每一个柱形图是每一帧的绘图耗时
如果发现有很多帧的绘图耗时都超过了绿线,表示当时的流畅度出现了问题
过度渲染:描述的是屏幕上的某个像素在同一帧的时间内被绘制了多次
显示GPU过度绘制
颜色过深表示当前UI层数过多
如果发现页面特别卡的时候,可以打开过度绘制进行查看,看哪一部分绘制的元素过多
性能adb命令的更多相关文章
- Android App性能测试之adb命令
本篇文章总结了Android App性能测试过程中常用的adb命令.通过这些adb命令,可以查看App的性能数据,为评判性能好坏作参考. CPU相关 显示占用CPU最大的5个应用 adb shell ...
- 常用的adb命令
在平时的工作中,会经常用到adb命令,在这里稍微整理了一下. 一.概要 1.什么是adb? adb全称为Android Debug Bridge,就是起到调试桥的作用.顾名思义,adb就是一个debu ...
- 软件测试之adb命令-实际公司使用场景--今日log
软件测试之adb命令-实际公司使用场景--今日log Dotest-董浩整理 1)可以看内存泄漏: 2)可以安装.卸载app--截图并提交bug: 3)可以通过抓app日志定位问题: 4)可以结合mo ...
- adb命令集锦
adb 是什么? adb工具即Android Debug Bridge(安卓调试桥) tools.它就是一个命令行窗口,用于电脑端与模拟器或者真实设备交互. 常用操作: 把文件发送到android设备 ...
- ADB命令(全)
当熟悉Shell命令的人使用adb是没有任何难度的,因为adb中绝大多少命令都是引用的shell命令 以下命令进行归类,红色部分字体是测试人员常用的adb命令 基础命令 1.启动adb服务 adb s ...
- 如何使用 adb 命令实现自动化测试
如何使用 adb 命令实现自动化测试 一.前提: 1.打开手机调试模式,确保手机已正常连接电脑,可在电脑上通过adb devices命令查看,结果如下说明连接成功: List of devices a ...
- 一些实用的adb命令
一.前提: 1.打开手机调试模式,确保手机已正常连接电脑,可在电脑上通过adb devices命令查看,结果如下说明连接成功: List of devices attached90xxxxc9 dev ...
- Android app ADB命令
* 查看设备 adb devices ps这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 若有多台安卓设备,可以通过在adb后面加上 -s <设备id&g ...
- ADB 命令和monkey
一.概要 1.什么是adb? adb全称为Android Debug Bridge,就是起到调试桥的作用.顾名思义,adb就是一个debug工具. 2.adb工作原理 不是很理解?那就来看看它的工作原 ...
随机推荐
- 关于sql的关联排序
个人觉得对sql的玩转其实是sql中各种函数方法的理解的透彻. 原始数据表 要求查询的结果排序 其实刚看题目可能觉得要用group by但是再网下继续思考可能就没有思路了 但是如果你接触过over的试 ...
- phpMyAdmin的配置
好久没写东西了,上来记录一下今天学的一点小东西吧~ 之前搞php开发的时候,一直用的是SQLyog来操作mysql数据库的,但是今天发现sqlyog功能不是很完善,主要是我想修改数据库名,但是sqly ...
- sql的各种join连接
SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name id name id name -- ---- -- ---- ...
- centos6.x开机卡死
问题描述: centos6.x开机卡死在进度条处 远程登录,查看系统日志,看看卡在哪儿 通过远程连接,tail -fn 20 /var/log/messages 发现报错: init: prefdm ...
- 当程序报无法复制dll的时候
当修改程序后,重新编译项目时经常会碰见"无法复制dll到指定路径"的问题.此时,打开任务管理器,关闭所有JP.VDS开头的进程,再重新编译项目即可
- Qual F&Q
[1]长按power键,下面有四个选项可以选择户外,静音,振动标准四种模式 GlobalActions.java->createDialog(): if (!mHasVibrator) { mS ...
- Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事
继续是讲解基础原理,新手专用部分.这次讲光敏电阻,和用电阻分压.光电元器件有好几种,其中测光相关的元器件,常见的有光敏三极管和光敏电阻,我们这次光控灯用光敏电阻.在我们光控灯里面,将会使用它搭建出分压 ...
- Cocos2d-x lua 游戏中的菜单(Menu)
菜单相关类包含 菜单(Menu)类 和 菜单项( MenuItem )类 Menu类图(派生于Layer) ref <-- Node <-Layer <-- Menu MenuIte ...
- iOS - Regex 正则表达式
1.Regex 定义 正则表达式又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为 regex.regexp 或 RE),计算机科学的一个概念.正则表达式使用单个 ...
- 基础笔记12(socket,url网络通信)
进一步深入socket 1.网络通信条件: .IP地址,可用主机名. .传输数据时将不用的应用程序通过数字标识区分开来,这种标识称为逻辑端口,也称端口.(0-65535端口,一般系统预留0-1024) ...