Battery Historian 使用及数据分析
adb 对手机的操作
1.重置内部数据,相当于清空
adb shell dumpsys batterystats --reset
2.获取完整的 wakelock 信息
adb shell dumpsys batterystats --enable full-wake-history
3.拔掉 USB 等待一段时间建议长一点,现在随意使用 APP
4.获得电量报告
// > 6.0
adb bugreport bugreport.zip
// <= 6.0
adb bugreport > bugreport.txt
5.提交电量报告,并查看
数据参数详细说明
1.WakeLock 级别
- PARTIAL_WAKE_LOCK: 保证 CPU 保持高性能运行,而屏幕和键盘背光(也可能是触摸按键的背光)关闭。一般情况下都会使用这个WakeLock 。
- ACQUIRE_CAUSES_WAKEUP: 这个WakeLock除了会使 CPU。高性能运行外还会导致屏幕亮起,即使屏幕原先处于关闭的状态下。
- ON_AFTER_RELEASE: 如果释放 WakeLock 的时候屏幕处于亮着的状态,则在释放WakeLock之后让屏幕再保持亮一小会。如果释放 WakeLock 的时候屏幕本身就没亮,则不会有动作。
- API17 被弃用的 WakeLock:保持屏幕长亮
。
SCREEN_DIM_WAKE_LOCK:保证屏幕亮起,但是亮度可能比较低。同时键盘背光也可以不亮。
SCREEN_BRIGHT_WAKE_LOCK :保证屏幕全亮,同时键盘背光也亮。
FULL_WAKE_LOCK:表现和SCREEN_BRIGHT_WAKE_LOCK 类似,但是区别在于这个等级的WakeLock使用的是最高亮度
推荐使用
//在Activity中:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
//或者在布局中添加这个属性:
android:keepScreenOn="true"
剩下参数由表格说明