BatteryHistorian Android手机耗电分析神器

article/2025/8/21 0:12:44

Battery-Historian是谷歌推出的一款专门分析Bugreport的工具,是谷歌2015年I/O大会上推出的一款检测运行在android5.0(Lollipop)及以后版本的设备上电池的相关信息和事件的工具,是一款对于分析手机状态,历史运行情况很好的可视化分析工具。

当设备在使用电池的时候,它可以使开发者们看到系统级和应用级事件图表,在图表时间轴上可以缩放和平移,能够直观的看到自上一次充满电到现在设备电池的统计汇总信息,它可以选中一个应用程序来检查该应用影响电池电量的一些参数,并且可以对比两个bugreport文件信息分析,并对其电池关键区别点做高亮显示。

一、Battery Historian安装:

Github上有本地安装和使用方法:https://github.com/google/battery-historian/

逃课教程:直接使用网络搭建共享网站https://bathist.ef.lc/

二、生成bugreport

1. 接手机,打开开发者模式(设置->关于手机->版本信息->连续点击版本号),连接adb。

2. 重置batterystats 数据, 手机始终在后台收集batterystats和其他调试信息。重置会清除旧电池采集数据.

adbshell dumpsys batterystats –reset

3. 使用你的应用程序,正常使用手机耗电。

4. 导出原始bugreport数据(bugreport导出会持续2-5min,期间勿断开连接)

adbbugreport > bugreport.txt

有的会直接生成在当前路径下执行 start . 查看当前路径是否有对应bugreport

三、Battery Historian 指标详解

3e7115d82bc85d8ab62e8384229d9c9e.png

93a09f3d432cd0f31e640b93002443ba.png

b19faf232e72f231d63b930805024a27.png

SystemStats选项卡:包含系统范围的统计信息,如单元信号级别和屏幕亮度。这些信息提供了设备发生情况的整体情况。这对确保没有外部事件影响特别有用。

AppStats选项卡:包含有关特定应用程序的信息。使用左侧的应用程序选择窗格中排序应用程序下拉列表对应用程序列表进行排序。可以选择一个特定的应用程序来查看应用程序下拉列表的统计信息。

要查找特定应用程序的数据:将其包名称输入位于可视化左侧下方应用程序选择下的两个下拉菜单中的较低位置

350bd1a46cf16ee465d54ee07abfff1e.png

选择特定的应用程序时,以下数据可视化类别将更改为显示应用程序特定的数据而不是系统范围的数据:

SyncManager.

Foreground process.

Userspace Wakelock.

Top app.

JobScheduler.

Activity Manager Proc.

四、通用分析思路

1、通过system stats 中screenon/off rate 平均亮灭屏耗电熟读可以初步确认亮屏或者灭屏耗电是否有异常。

2、通过选取电量值观察每格电量的消耗速度,确认耗电异常时间段和当前前台应用,网络状态,后台job等信息。

3、综合当前亮度,网络状态,后台job ,前台应用估算是否符合预期,确认是否当前配置环境问题,还是应用耗电异常。

五、常见场景案例

1. 充电慢问题:查看充电电流值,确认充电电流是否符合预期。查看充电过程是否有异常job在长时间执行,如果有异常job耗电也会降低充电电流。查看对应电池温度是否有高温现象,电池温度过高会限制充电电流。

fd6f056b507c67a707f5148b72cbe275.png

2. 发热问题:通过batterystats查看当前发热情况,找到温度最高区间,综合当前网络,亮度,应用确认耗电情况是否符合预期。如耗电电流不大,但是温度确持续增加,大概率环境无法散热导致,比如太阳光直射,物品覆盖无法散热。

2503534883bf9df97a9a085cac19bd22.png

3. 亮屏耗电问题:当出现亮屏耗电时,先检查网络状态,亮度状态,是否高耗电应用。不同网络耗电排行5G>4G>wifi,高亮下耗电会急剧增加,游戏相机场景会耗电大。

如下场景是用户反馈白天耗电快场景,4G下,高亮,加上后台GPS长时间定位,引起亮屏使用耗电大。

7df08c6989006917b8f1a0966083e7c4.png

4. 息频耗电问题:息屏场景,部分app会通过音频持锁来给自己保活。通过查看audio和wakelock状态可以确认此类问题。app频繁网络包唤醒系统(应用唤醒频次低于1min),同样也会引起耗电快。

如下场景就是用户反馈息屏耗电快场景,从batteryhistorian可以看到xfPlay,一直持有音频锁给自己保活,导致系统无法休眠从而息屏耗电。

345ec06f53b3c131ef58db198216b14d.png

5. 息屏异常耗电问题:所有信息都符合预期,但是还是耗电快,此种情况可能是有异常器件漏电问题。

如下场景息屏耗电场景,唤醒周期超过2min,休眠比良好,但是耗电依旧很大。有可能是器件漏电,需要专业功耗工程师进一步分析。

f976928bbcbd19918663c00659971eab.png

6. 电量追赶问题:当发现耗电电流超过理论值,并且无异常发热,大概率是出现了电量追赶问题。当计算出来的真实电量和实际电量有差异时,实际电量就会快速下降追赶至真实电量,表现就是30s或者60s一格电的速度去追赶(各家参数会有差异)。

如下息屏耗电场景,平均耗电电流5466ma,理论手机不会出现这么大电流(手机平均电流极限2A左右,如是真实耗电会伴随大量发热)。此时温度正常,大概率是出现了虚电,电量追赶问题,需要从kernel 日志进一步分析确认。

29e4b31fb6636b9d6c82e120193dd4d9.png

六、小结

Batteryhistorian图形化工具,可以非常直观查看历史耗电信息,追溯到耗电场景。对于一般用户,Batteryhistorian分析简单耗电问题已经足够。对于更深的耗电问题,则需要更多的辅助日志或者dump 由更专业工程师进一步分析。

参考文献:https://developer.android.google.cn/topic/performance/power/setup-battery-historian

扫码关注
“内核工匠”微信公众号
Linux 内核黑科技 | 技术文章 | 精选教程

 


http://chatgpt.dhexx.cn/article/raP757LK.shtml

相关文章

推荐一款手机app自动点击神器

点击上方"优派编程"选择“加入星标”,第一时间关注原创干货 工具软件下载地址:http://wp.fang1688.cn/ganhuo/931.html 今天小编方包介绍这款app自动点击神器:贝利自动点击器 贝利自动点击器安卓版是一款免费的手机自动连点器,用户…

可以用计算机控制手机的软件,还有这样的神奇软件!让你用PC操控手机的神器...

原标题:还有这样的神奇软件!让你用PC操控手机的神器 [PConline 应用]想要用电脑来控制手机?这里有个简单的办法,你还别说,在电脑里刷刷抖音、刷刷朋友圈也是个不错的事儿。但你别误会,这篇文章并不是让你在…

苹果手机温度测试软件,苹果手机测温神器上线啦!

前几日看到有位刚做了几个月的宝妈,在群里说她家小孩发烧,她在家里用水银温度计测温的时候,宝宝不配合又哭又闹,她很怕宝宝把水银弄碎,但是又没有办法只能强行给宝宝完成体温测量。真是心疼又心酸。 日常生活中宝妈用水…

手机编程神器Pydroid3的简单使用——Python和c语言

一.简单介绍: Pydroid3手机版是一款手机编程软件,包含强大的编译器,轻松在手机上运行和调试Python程序。软件拥有离线Python 3.8解释器,运行程序不需要互联网,既是没有网也能够完美运行,Pydroid 3是最易于使用和功能强大的手机的…

分享两款手机优化神器!

我们手机用久了难免会有卡顿、存储空间不足、耗电严重等现象,虽然与手机老化有关,但很多情况是由于各种应用使用过程产生的垃圾文件越积越多又无法正常清理造成的,Android手机尤为严重。小编今天找到一款很强的手机清理工具,仅其中…

分享几个实用电脑手机神器

分享一:阿里小号 阿里小号是一款让你轻松拥有小号的应用。您只需要使用您的淘宝账号登录即可使用。支持申请两个小号(生活号、好友号)。申请的第一个月似乎是免费的。 如果使用时间较长,每年需要缴纳20元的费用。在选择小号的时候…

电脑控制android手机神器,scrcpy

我同事有一个华为手机,手机里内置了NFC,然后把手机靠近下电脑,当然的,一定需要是华为笔记本,然后电脑就弹出一个界面,控制手机的界面,这个功能非常好,加上NFC的功能,体验…

在安卓手机搭建kali环境,手机变成便携式渗透神器

最近在电脑上玩kali虚拟机感觉还是不方便,就试着在手机上试了一下。 我先试的linux deploy 感觉还是太复杂而且还没安装成功 最后我用termux 试了下感觉挺好下面介绍如何在Android 系统上用Termux安装Kali Linux。 Termux 简介 Termux是一个Android下一个高级的…

你手机里有哪些堪称神器的 App?

手机侧重娱乐,PC侧重生产力,手机上「堪称神器」App 必定突破了边界带来了效率的极大提升。今天为大家介绍的这些App,都是些在移动端办公的高手,能够在移动端营造生产力场景,与普通的电脑软件和web软件有着极大的不同。…

100+实用功能合集,手机中的神器,黑科技中的战斗鸡!

电脑更多用于学习和工作,平常弄弄文档啥的电脑比较方便,软件操作电脑才舒服,手机更多用于休闲。有啥稍微麻烦的操作就得用电脑,不然就是下一堆软件,功能不齐全。 今天给大家分享一款黑科技工具手机APP。拥有超过100种的…

10款安卓手机必备APP,能让你的手机更好用!

最近换了安卓手机,发现有很多安卓手机值得安装的神器App。下面10个冷门绝佳的安卓App,你未必全知道。 01 Via 一款主打简洁的浏览器,首页只有一个简简单单的搜索框,不会给你推荐各种奇葩新闻和资讯。同时还自带广告拦截功能&…

手机APP神器大全,这些被堪称神器的APP你用过哪些!

今天给大家分享我在日程生活中使用到的APP,我把它们分为了三大类型:工作效率类、生活服务类、社交资讯类,其实还有支付方式类和工作类(由于涉及隐私,我就没有写了)。我将每大类的APP又按照功能进行细分排列…

iOS+Appium最简单的环境搭建,快速实现真机自动化测试

前言 整理不易耗时两星期配置成功,查看一两年前的教程文章走了太多弯路到处都是坑和报错 需配置环境:Homebrew、node、cnpm、Carthage、ios-deploy、libimobiledevice&ideviceinstaller,Xcode,appium&WebDriverAgent&am…

Appium iOS 自动化测试总结

一、iOS Appium 原理 1.1 iOS 9.3 系统之前自动化测试 1.1.1 Native 自动化 这是iOS 9.3 系统之前自动化测试的架构模式。通过Android Appium 原理的学习 ,我们很容易理解 iOS Appium 原理: Appium Client 端执行代码发送到 Appium Server端&#xff0…

iOS UI自动化测试详解

前言: 小目标 关于UI自动化的定义,我想要的是自动地按照流程去点击页面、输入数据,不需要人去参与,节省人工时间。比如登录,能够自己去填写用户名&密码,然后点击按钮跳转到下一个页面等。在能够保证业…

iOS自动化笔记(一)WebDriverAgent安装与使用

准备条件 首先准备一台Mac电脑和一台iPhone手机(尽可能使用Mac和iPhone真机) WebDriverAgent安装与使用 想要进行iOS自动化测试,必须在真机iPhone上安装WDA,安装后在手机端如下图所示(图中WebDriverAgent开头名字的…

ios 基础学习之零基础代码控制实现3

这一节学习一下ios中的tableview控件的简单使用 UiTableView使用必须实现连个协议 <UITableViewDataSource,UITableViewDelegate>来进行对tableview进行数据管理 1&#xff09;创建一个新的项目learn3 2&#xff09;添加一个定义模块view FragmentTableView 并实现连…

如何使用IOS自动化测试工具UIAutomation

这篇文章主要介绍了UIAutomation使用实例、应用技巧、基本知识点总结和需要注意事项&#xff0c;具有一定的参考价值 第一部分: 熟悉Instruments的UIAutomation. 第二部分: 控件的获取及操作 第三部分: 自定义自动化脚本 xcode中自带的Instuments工具可以用来进行APP的自动…

iOS之深入解析CocoaPods的GitLab CI与组件自动化构建与发布

一、Gitlab CI/CD 简介 ① GitLab GitLab 是一个利用 Ruby on Rails 开发的开源应用程序&#xff0c;实现一个自托管的 Git 项目仓库&#xff0c;可通过 Web 界面进行访问公开的或者私有的项目。GitLab 拥有与 GitHub 类似的功能&#xff0c;能够浏览源代码&#xff0c;管理缺…

Appium——iOS自动化测试

Appium下载与安装 关于Appium&#xff1a; 详细介绍见Appium官方网站&#xff1a;http://appium.io 安装步骤&#xff1a; 安装node.js&npm安装Appium安装Selenium WebDriver 网上有很多关于Appium安装的教程&#xff0c;这里就不再详述。 http://www.cnblogs.com/enjo…