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"
现在终端运行这行命令,然后再启动被测应用,屏幕里就会输出包名和活动名
停止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"
这个没有对应的头,可以使用命令 adb shell top 查看对应列代表的含义
流量
首先需要获取到你想要查看的应用进程的pid,使用adb命令:adb shell "ps | grep com.ifeng.news2"
注意: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呈现模式分析”,选择任一模式都行。如果选择条形图,页面会出现如下画面:
过度渲染:屏幕中的某个像素在同一帧的时间内被绘制了多次
进入手机系统设置,打开开发者选项,找到“调试GPU过度绘制”,按需求选择。
参考链接:https://www.cnblogs.com/cloudiest/p/8485711.html