电池电量对于手机的重要性不言而喻,没有电你再土豪的手机也白瞎,所以手机方案商在研发阶段会对系统耗电做全面分析,从硬件到软件,从系统到上层,作为任劳任怨的程序猿自然是责无旁贷

俗话说:“工欲善其事,必先利其器”一个好的工具能让我们事半工倍

下面介绍一个手机耗电分析工具Battery Historian

开源工具下载地址:

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

github有此工具的编译安装说明,我觉得太过复杂,要安装工具太多

可以下载,解压即可使用,简单

https://download.csdn.net/download/wuhuiyi10/11239898

目录

环境部署

运行

工具使用说明


  • 环境部署

1,GO环境安装

下载地址:https://golang.org/doc/install

安装GO

配置环境变量

配置GOROOT和GOPATH

GOROOT的作用是告诉Go 命令和其他相关工具,在哪里去找到安装在你系统上的Go包,所以这里配置的是GO的安装目录

GOPATH可以简单理解为是工程的目录,所以创建一个GO的工程路径

查看配置是否正确

2,Python安装

点击下载【下载】,注意仅支持python2.7

配置环境变量

检测是否安装成功

3,安装Java环境

  • 运行

1,为了更好的分析避免一大堆数据的干扰,我们需要对数据进行重置,执行如下一些命令

adb shell dumpsys batterystats --reset 重置bugreport日志

adb shell dumpsys batterystats –enable full-wake-history 打开电池数据池

adb shell dumpsys batterystats –disable full-wake-history 关闭电池数据

由于记录所有唤醒锁数据会导致日志超过最大限制(50M),因此最好针对具体应用做分析,并在完成分析后执行命令关闭,否则会导致bugreport日志太大而不好分析

重置数据后将数据线直接拔掉(防止数据线进行充电干扰),重启手机,经过一段时间使用后,链接adb,导出bugreport日志信息,这时就可以分析日志了,得到的数据就是这段时间之内的电磁日志信息

2,导出bugreport.txt文件

命令:adb bugreport > bugreport.txt

目录下生成文件

3,运行Battery Historian 输入命令

go run .\cmd\battery-historian\battery-historian.go

4,运行成功,在浏览器中打开http://localhost:9999/

5,Browse选择生成的bugreport日志信息*.zip文件,点击submit提交,等待。。。

可以看到这个工具生成的日志信息图像化,直观,方便

至此就可以开始分析耗电情况了

  • 工具使用说明

参数 说明
CPU runing cpu运行的状态
Kernel only uptime Kernel单独运行时间
Userspace wakelock 用户空间申请的锁
Screen 屏幕是否点亮
Battery level 电池当前电量
Temperature 电池温度
Top app 当前在内存中的应用,按内存占用率排序
Activity Manager Proc 活跃的用户进程
Crashes(logcat) 某个时间点出现crash的应用
Doze 是否进入doze模式 Device
active 和Doze相反
JobScheduler 异步作业调度
SyncManager 同步操作
Temp White List 电量优化白名单
Phone call 是否打电话
GPS 是否使用GPS
Network connectivity 网络连接状态(wifi、mobile是否连接)
Mobile signal strength 移动信号强度(great\good\moderate\poor)
Wifi scan 是否在扫描wifi信号
Wifi supplicant 是否有wifi请求
Wifi radio 是否正在通过wifi传输数据
Wifi signal strength wifi信号强度
Wifi running wifi组件是否在工作(未传输数据)
Wifi on 同上
Camera 相机是否在工作
Audio 音频子系统?
Foreground process 前台进程
Package install 是否在进行包安装
Package active 包管理在工作
Plugged 连接usb或者充电
Charging on 在充电
Logcat misc 是否在导出日志

【Android日志分析】Battery Historian功耗分析工具相关推荐

  1. Android日志系统Logcat源代码简要分析

    在前面两篇文章Android日志系统驱动程序Logger源代码分析和Android应用程序框架层和系统运行库层日志系统源代码中,介绍了Android内核空间层.系统运行库层和应用程序框架层日志系统相关 ...

  2. Android日志系统驱动程序Logger源代码分析

    我们知道,在Android系统中,提供了一个轻量级的日志系统,这个日志系统是以驱动程序的形式实现在内核空间的,而在用户空间分别提供了Java接口和C/C++接口来使用这个日志系统,取决于你编写的是An ...

  3. android core log,Android 日志系统(Logcat)的实现分析

    这篇说一下Android 日志系统的实现: 1. Android中的打印分为4个缓冲区和6个打印等级,在frameworks\base\core\java\android\util\Log.java中 ...

  4. 【Android日志分析】EventLog

    Android源码中有大量的EventLog日志,通过这个日志可以很简洁的呈现出系统的事件处理流程,包括时间,状态,便于我们分析定位问题. 命令 查看Event所有的tags adb shell ca ...

  5. Android 功耗(11)---Android 功耗分析之wakelock

    Android 功耗分析之wakelock 生活总是让我们遍体鳞伤,但到后来,那些受伤的地方一定会变成我们最强壮的地方.-海明威 WakeLock是什么 WakeLock作用 WakeLock有那些分 ...

  6. 【Android 电量优化】电量优化 ( Battery Historian 环境要求 | 电量分析报告 | 电量优化三原则 | 电量优化注意事项 )

    文章目录 一.Battery Historian 环境要求 二.上传电量报告 三.Battery Historian 电量分析报告 四.电量优化三原则 五.电量优化注意事项 参考 Google 官方文 ...

  7. Battery Historian分析手机耗电神器

    极力推荐Android 开发大总结文章:欢迎收藏 程序员Android 力荐 ,Android 开发者需要的必备技能 本篇文章主要介绍 Android 开发中 电量 的部分知识点,通过阅读本篇文章,您 ...

  8. 嘘,我已经瞒着开发解锁APP日志文件抓取及分析啦!

    ------·今天距2020年87天·------ 这是ITester小栈第49次推文 大家好,我是coco小锦鲤 经过之前的APP系列 我们知道了APP的测试流程 也列举了APP通用测试用例 还解答 ...

  9. 【Android 电量优化】电量优化 ( 耗电量测试 | Battery Historian 简介 | apt 源更新 | Docker 安装 | Battery Historian 安装 )

    文章目录 一.耗电量测试 二.Battery Historian 简介 三.Docker 简介 四.更新 apt 源 五.安装 Docker 六.安装 Battery Historian 七.访问电量 ...

最新文章

  1. 直播预告 | 全国大学生智能汽车竞赛全向行进组——基础培训
  2. SpringCloud eureka服务状态监听
  3. PrimeFaces:在动态生成的对话框中打开外部页面
  4. android 硬件对接,Android 对接硬件串口篇
  5. 埃森哲携手阿里云,采用K8s容器云服务为客户提供无限弹性
  6. php post 丢失,php post大量数据时发现数据丢失问题解决方法,post数据丢失_PHP教程...
  7. 大数据应用项目创新大赛_经济管理学院大数据应用创新大赛顺利举行
  8. (035) Linux之其他命令
  9. debug安装包安装在别人手机上闪退?
  10. 戴尔:未来就绪的IT
  11. web前端开发技术的优化策略
  12. 8CRM客户案例分享
  13. 计算机网络子网掩码计算题,计算机网络复习题(计算题)
  14. Mac安装虚拟机Parallels Desktop,以及Windows10系统详细教程
  15. Windows常用操作—热键(快捷键)
  16. 微信小程序之问答论坛(含源码+论文+答辩PPT等)
  17. 2014522420145238 《信息安全系统设计基础》 第四次实验
  18. 物流快递电子面单Api接口怎么申请对接(顺丰、快递鸟、菜鸟、拼多多)
  19. [Unity] Catan Universe: Unity 的移动设备优化
  20. 为云主机申请配置免费的域名和证书

热门文章

  1. 百度高德批量爬取经纬度并计算距离
  2. Yammer Metrics的使用
  3. 部署主从Radius认证服务
  4. c# 实现 Server-Sent Events (SSE),服务器单方面消息推送 [案例版]
  5. CSS(层叠样式表)
  6. vue 自定义弹窗组件
  7. Java与JavaScript之间的借鉴
  8. tensorflow中的正则化
  9. Go 并发编程Mutex(二)--源码
  10. UE4 ListView