耗电量测试:
准备条件
充电100%后再多充30分钟后开始测试
关掉其他app排除影响
相同屏幕亮度,最大最好
设置屏幕不自动关闭
使用charles 3G网络限速
每次留bugreport
每次都要重新安装app(或者清楚数据),保证耗电量从0开始计算
安装adb【各种baidu就行】
确保手机跟电脑都处于同一个网络
手机插线连着电脑,确保已连接上,使用【adb devices】命令check,是否连接
输入【adb tcpip 5555】,使用tcpip协议连接手机
1.无线连接手机
adb connect 192.168.1.8
2.清楚已有的耗电量数据
adb shell dumpsys batterystats --enable full-wake-history
3.设备耗电量数据重置
adb shell dumpsys batterystats --reset
4.寻找包名的uid
adb shell ps |find "com.nuomi"
以下是dos下出来的信息,u0_a445就是uid,需要去除下划线_, 即u0a445
u0_a445 7068 772 1646920 85320 SyS_epoll_ 0000000000 S com.nuomi:installdex
u0_a445 7158 772 1854944 226048 SyS_epoll_ 0000000000 S com.nuomi
u0_a445 7190 772 1663432 89120 SyS_epoll_ 0000000000 S com.nuomi:ultranet
u0_a445 7208 772 1641072 85336 SyS_epoll_ 0000000000 S com.nuomi:remote
5.确定测试包的名字和uid
adb shell dumpsys batterystats "com.nuomi" |find "u0a445"
6.然后执行业务场景,结束之后杀进程
7.杀完进程后,把耗电量信息传到电脑该目录下
adb bugreport>test.txt
8.等待传送结束,手机会震动以下,表示数据传输到电脑完毕
9.打开记录的txt文件,查找耗电量信息,如下图,1.98mah(毫安时)就是该业务场景的耗电量
battery_level
电量,可以看出电量的变化。比如上图中的数据显示刚开始电量是100%,然后在第11秒-12秒中间的某个时刻降到了99%。
plugged
充电状态,这一栏显示是否进行了充电,以及充电的时间范围。例如上图反映了我们在第22s插入了数据线,然后一直持续了数据采集结束。
screen
屏幕是否点亮,这一点可以考虑到睡眠状态和点亮状态下电量的使用信息。
top
该栏显示当前时刻哪个app处于最上层,就是当前手机运行的app,用来判断某个app对手机电量的影响,这样也能判断出该app的耗电量信息。该栏记录了应用在某一个时刻启动,以及运行的时间,这对我们比对不同应用对性能的影响有很大的帮助。
wake_lock*
wake_lock 该属性是记录wake_lock模块的工作时间。是否有停止的时候等
running
界面的状态,主要判断是否处于idle的状态。用来判断无操作状态下电量的消耗。
wake_lock_in
wake_lock有不同的组件,这个地方记录在某一个时刻,有哪些部件开始工作,以及工作的时间。
data_conn
数据连接方式的改变,上面的edge是说明采用的gprs的方式连接网络的。此数据可以看出手机是使用2g,3g,4g还是wifi进行数据交换的。这一栏可以看出不同的连接方式对电量使用的影响。
status
电池状态信息,有充电,放电,未充电,已充满,未知等不同状态。
这一栏记录了电池状态的改变信息。
phone_signal_strength
手机信号状态的改变。
这一栏记录手机信号的强弱变化图,依次来判断手机信号对电量的影响。
health
电池健康状态的信息,这个信息一定程度上反映了这块电池使用了多长时间。
这一栏记录电池状态在何时发生改变,上面的图中电池状态一直处于good状态。
plug
充电方式,usb或者插座,以及显示连接的时间。
这一栏显示了不同的充电方式对电量使用的影响。