1. 环境配置:

1.1. 下载Go安装文件pkg,并进行安装, 输入命令go version检测是否安装成功:


1.2 配置Go的环境变量:

终端执行命令sudo vim .zshrc,打开环境变量配置文件,并写入如下内容:

export GOPATH=$HOME/workexport GOBIN=$GOPATH/binexport PATH=$PATH:$GOBIN

备注:GOPATH的具体目录可以自行指定,下图是我的配置:


1.3 终端执行如下命令,下载Battery-Historian源码及依赖:

go get -d -u github.com/google/battery-historian/...
1.4 终端执行如下命令,运行Battery Historian


1.5 访问localhost:9999,打开battery historian分析界面,如图:


2. 获取bugreport文件

2.1 通过如下命令,获取带有具体时间线的电池使用的详细的数据:


2.2 重置电池的历史统计数据,进行全新收集:


2.3 使用一会儿手机,然后获取bugreport文件:


3. 分析数据(备注:建议5.0以上的设备,5.0以下的设备收集的信息没那么全面)

3.1通过battery-historian工具打开bugreport文件,即可查看详细信息:



3.2 主要指标解释:

横坐标:时间周期,60秒为一个周期;

battery_level: 电池的电量情况;

plugged: 充电状态及充电的时长;

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:电池健康状态的信息,这个信息一定程度上反映了这块电池使用了多长时间。这一栏记录电池状态在何时发生改变。
plug:充电方式,usb或者插座,以及显示连接的时间。这一栏显示了不同的充电方式对电量使用的影响。

3.3 比较两个文件

点击switch to bugreport Comparison按钮,选择不同的两个bug report文件,即可进行相应的比较:



参考资料:

1.https://github.com/google/battery-historian

2.http://blog.csdn.net/itfootball/article/details/44084159

更多相关文章

  1. 电量分析工具 Battery Historian 的配置及使用
  2. Android之开关飞行模式
  3. 【Medium 万赞好文】ViewModel 和 LIveData:模式 + 反模式
  4. ReactNative的ViewPagerAndroid简述
  5. android GSM incoming电话部分流程
  6. Android(安卓)ListView(加载不同布局)嵌套GridView(加载不同布局)
  7. Android(安卓)沉浸式状态栏 最通俗易懂的总结
  8. 谷歌官方Android应用架构库——处理生命周期
  9. Android获取屏幕高度、状态栏高度、标题栏高度

随机推荐

  1. android junit 测试 简要步骤
  2. x、Android保存图片至相册原生代码
  3. Android(安卓)Bitmap详细介绍
  4. 安卓即使增加了权限也不可以访问网络
  5. LeakCanary原理分析
  6. Android(安卓)HorizontalScrollView回弹
  7. Android快速搞定代码混淆
  8. Service详解一
  9. 地图测试
  10. Android组播域名服务