battery_historian分析

1 怎么抓log&bugreport

电量统计的信息是由系统的batterystats这个服务处理的。通过抓bugreport可以抓到电量信息。

执行如下命令抓bugreport

# 抓之前reset电量信息
adb shell dumpsys batterystats --reset
# 抓bugreport
adb bugreport

2 分析图形化数据

将bugreport zip包放到网站解析出来:
image
这个log中我主要是要看CPU为什么退出susppend(挂起)的了,挂起和非挂起状态的功耗消耗差别很大。

看1这里:

  • 正常情况,如果一直处于suspend,应该全是短线,这样符合要求,短线只是时钟按时唤醒
    image

  • 如图长的实线就是不正常的唤醒,可以将光标悬浮在那里看看唤醒源
    image
    唤醒源中有很多蓝牙的,加上第一张图的,对照CPU唤醒和(标注3的)蓝牙BLE的活跃状态,确定CPU退出挂起状态是BLE扫描引起的。

  • 如箭头2这条曲线,是电量消耗的曲线,可以显示:

    1)实时剩余电量

    2)实时电流值,记住这个是软件估算值。如果你要实际数值,需要连接假电池和电流机查看。

  • 除了上面这些,还可以看一下各种硬件的状态,如4就可以看到wifi在抓log不久就被关了。

3 各类表格

待续...

posted on 2025-04-01 10:53  luke4212  阅读(101)  评论(0)    收藏  举报

导航