ADB Shell之手机性能测试

Posted shinge

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADB Shell之手机性能测试相关的知识,希望对你有一定的参考价值。

Connect 夜神模拟器for android 4.4.2

打开模拟器-在CMD输入如下连接测试设备

adb connect 127.0.0.1:62001

 你也可以连接自己的手机设备

开发者选项-启动USB调试,即可使用ADB,ADB需要环境搭建,百度教程吧

///////////////////////////////////////////手机性能测试///////////////////////////////////////////

 

1.启动时间:

查看系统app pkg name and activity name

adb shell "logcat | grep START"

 

start app启动App,W要大写,下面使用微信app做示范:

adb shell am start -W -n package/activity

adb shell am start -W -n com.tencent.mm/.app.WeChatSplashActivity

 

stop app停止App

adb shell am force-stop package

adb shell am force-stop com.tencent.mm

 

click back key to exit 到后台-冷退出

adb shell input keyevent 3

 

2. CPU

检查CPU用量

adb shell "dumpsys cpuinfo | grep com.tencent.mm"

 

3.流量监控

获取进程ID指令

adb shell ps | grep packageName

adb shell "ps | grep com.tencent.mm"

这个微信进程ID是 : 984

 

4.获取进程ID流量

检查接收+发送流量

( RECEIVE=接收,TRANSMIT=发送 ; eth0+eth1表各自的网卡,这表示有2个网卡)

adb shell cat /proc/pid/net/dev

adb shell cat /proc/984/net/dev

 

 

5.电量监控

可以看到电池信息状态level是当前电量;scale表示电池满量是100

adb shell dumpsys battery

 

切换非充电状态 (充电状态是2,也就是说非2是非充电状态)

adb shell dumpsys battery set status 1

6.内存测试

获取手机上apps的内存信息

adb shell top

主要检查list这2项:VSS+RSS

VSS (Virtual Set Size) : 虚拟耗用内存

RSS (Resident Set Size) : 实际使用物理内存

 

 

获取所有的apps内存用量然后以每秒一次的方式存一次

-d表示刷新频率 ;1表示1秒存一个到信息列表,请到当前CMD目录查看该文件meminfo

adb shell top -d 1 > meminfo

 

 

 

7.FPS&过度渲染

FPS=frames per second=每秒的帧数

过渡渲染:描述的是屏幕上的某个像素在同一帧的时间内被描绘了多少次

 

开发者选项-GPU呈现模式分析-在屏幕上显示为条形图

屏幕下方绿线表示基准线-超过绿色表示流畅度出现问题;在绿线以下表示比较正常;

 

勾选GPU过度绘制√

app边框和UI能明显看到颜色变化-

颜色越深-当前功能的页面层数越多

功能不在当前页面,是在其他页面的,如滑动后才显示的,颜色深表示这个界面过度绘制了;

 

////////////////////////////////////////////////////////////////////////////////////////////////////

 

以上是关于ADB Shell之手机性能测试的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本 | 性能测试之启动流量

Android性能测试(内存、cpu、fps、流量、GPU、电量)——adb篇

手机测试之-adb

安卓app的性能测试

android 性能测试adb命令

App性能测试之启动时间(安卓)