【性能测试】使用adb命令查看app的性能参数:启动时间、cup

2018-07-23  本文已影响0人  失语失芯不失梦

app的启动与停止

启动app的命令:adb shell am start -W -n packagename/activity(需启动的绝对路径)

启动凤凰新闻的具体命令是:adb shell am start -W -n com.ifeng.news2/.activity.SplashActivity

参考文章:https://blog.csdn.net/xiezechang/article/details/8528446

ThisTime:最后一个启动的Activity的启动耗时

TotalTime:自己的所有Activity的启动耗时

WaitTime: ActivityManagerService启动App的Activity时的总时间(包括当前Activity的onPause()和自己Activity的启动)

但是,我们可能并不清楚被测应用的包名和活动名是什么,这个时候,需要借助命令:

adb shell "logcat | grep START"

现在终端运行这行命令,然后再启动被测应用,屏幕里就会输出包名和活动名

cmp字段后面就是应用的packagename和activity

停止app的命令:

adb shell am force-stop packagename(杀死进程)

adb shell input keyevent 3 (置于后台)

cpu

adb shell "dumpsys cpuinfo | grep packagename"

第一行表示:com.ifeng.news2这个应用cpu占用率为69%,这个过程是在用户(user)中花26%的时间,并在内核空间(kernel)花费43%的时间

adb shell "top -d 1 | grep packagename"

这条命令是指每隔1秒就打印出pakeage应用资源利用的情况  

这个没有对应的头,可以使用命令 adb shell top 查看对应列代表的含义

圈出来这个就是cpu占用情况

流量

首先需要获取到你想要查看的应用进程的pid,使用adb命令:adb shell "ps | grep com.ifeng.news2"

圈出来这个就是pid

注意:adb shell cat /proc/pid/status,可查看对应的uid

然后使用命令去获取该进程的流量:adb shell cat /proc/pid/net/dev

看圈出来这一行

1、receive是指当前进程接收的数据,transmit是指当前进程发出请求的数据,流量是这两者之和

2、wlan0代表WiFi,单位是字节,/1024可换算成KB

3、wlan0这些值如何初始化0 很简单 你打开手机飞行模式再关掉就清0了

电量

首先需要将手机切换到非充电状态,使用命令:adb shell dumpsys battery set status 1

(adb shell dumpsys battery set status 2:是将手机切回充电状态)

然后使用命令:adb shell dumpsys battery 获取手机电池信息

电量的消耗信息:

获取整个设备的电量消耗信息: adb shell dumpsys batterystats | more

获取某个apk的电量消耗信息: adb shell dumpsys batterystats com.Package.name | more

加上 >D:\xxx.txt 可将信息输出到文件中查看

使用命令  python historian.py xxx.txt > xxx.html  可将获得的数据转换为可视化的html文件。但之前需要先安装battery-historian工具,具体方法见简友的这篇文章

内存

adb shell top

VSS(virtual set size):虚拟耗用内存

RSS(resident set size):实际使用物理内存

FPS以及过度渲染

FPS(frames per second):每秒的帧数(60是很流畅的一个状态)

进入手机系统设置,打开开发者选项,找到“GPU呈现模式分析”,选择任一模式都行。如果选择条形图,页面会出现如下画面:

那一条绿线表示FPS为60,超过这条线说明有些许卡顿

过度渲染:屏幕中的某个像素在同一帧的时间内被绘制了多次

进入手机系统设置,打开开发者选项,找到“调试GPU过度绘制”,按需求选择。

颜色越深代表渲染越过度

参考链接:https://www.cnblogs.com/cloudiest/p/8485711.html

上一篇 下一篇

猜你喜欢

热点阅读