使用Batterystats和Battery Historian进行耗电检测

本文主要介绍Batterystats和Battery Historian的基本使用步骤和工作流程,如果您要想学习怎样使用Battery Historian分析耗电详情,请参考文档: Analyze power use with Battery Historian。

Batterystats是一个Android framework中的工具,用于采集设备上的耗电数据。你可以用adb把采集到的耗电数据dump到你的电脑上,并且生成一个可以用Battery Historian分析的报告。Battery Historian把这个报告从Batterystats转换成可以在浏览器中查看的可视化HTML。

Battery Historian可以提供如下功能:
1、向你展示进程在哪里、怎样耗电。
2、为了改善电池生命周期,识别出你的app中可以被推迟或被移除的任务。

注意:Batterystats和Battery Historian只支持Android 5.0及以上的Android设备,且需要设备开启USB调试功能。

安装Battery Historian

安装Battery Historian最简单的方法就是使用Docker。也可以使用从源码编译的方法,详情参考Battery Historian项目在GitHub上的the Read Me。使用Docker来安装Battery Historian的步骤如下:
1、按照 the Docker website上的指导文档安装Docker Community Edition。
2、为确保Docker已经正确安装好,在命令行输入如下命令:

docker run hello-world

如果Docker已经正确安装好,你将会看到下面的输出:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete
Digest:
sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
Status: Downloaded newer image for hello-world:latestHello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal

3、用如下的命令运行Battery Historian:

docker run -p port_number:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999

Battery Historian将使用设备上的port_number指定的端口
注意:如果你使用的是Windows系统,你需要开启BIOS的虚拟配置。你可以查询关于怎样开启主板虚拟配置的文档。如果你的电脑能使用Android Emulator,那么虚拟配置就已经开启了。
4、为确保Battery Historian已经开启运行,在浏览器中输入如下地址打开Battery Historian(不同的操作系统,地址不一样):
Linux和Mac
Battery Historian的地址是:http://localhost:port_number
Windows
你打开Docker时,会得到一个电脑正在使用的IP地址。例如,如果IP地址是123.456.78.90,那么Battery Historian的地址是:http://123.456.78.90:port_number

然后你会看到Battery Historian的首页,在这个界面你可以上传并查看耗电统计数据。
在这里插入图片描述

使用Batterystats采集数据

使用Batterystats采集设备的耗电数据,并在Battery Historian中打开的步骤如下:
1、连接手机与电脑。
2、在命令行终端中关闭正在运行的adb server。

adb kill-server

3、重启adb并检查设备是否已连接上。

adb devices

4、重置电池数据:

adb shell dumpsys batterystats --reset

设备会一直在后台采集电池状态数据和其它debug信息。重置操作会擦除已采集的旧有数据。如果不进行重置操作,那么就会输出大量的数据。
5、断开手机与电脑的连接,使电池只处于放电状态。
6、对APP执行测试操作。
7、重新连接手机和电脑。
8、确保手机能被电脑识别:

adb devices

9、dump所有的耗电数据:

adb shell dumpsys batterystats > [path/]batterystats.txt

10、生成raw格式的数据报告。
对于Android 7.0及以上的手机:

adb bugreport > [path/]bugreport.zip

对于Android 6.0及以下的手机:

adb bugreport > [path/]bugreport.txt

Bugreport可能需要几分钟才能完成。在导出数据的过程中,不要断开手机或取消导出任务。
11、在浏览器中打开Battery Historian。
12、点击Browse,然后选择步骤10中生成的bugreport文件。
13、点击Submit。Battery Historian将打开bugreport文件并生成相关图表。

查看Battery Historian中的数据图表

Battery Historian图表以时间为进度展示了耗电相关的事件。
每行用有颜色的进度条片段展示因系统组件的运行导致的耗电情况。图表不展示某个组建耗了多少电,而只展示APP所耗的电。图表按分类组织,每个分类用一个以时间为X轴的进度条表示。
在这里插入图片描述
如上图:
1、从下拉列表选择不同的统计维度。
2、鼠标滑过信息icon,能看到更多关于每个维度的信息,包括图表中的各颜色的关键信息。
3、鼠标滑过进度条,能看到更多关于某个维度在特定的时间点的耗电信息。

batterystats输出的额外信息

你可以通过Battery Historian图表的stats区域查看batterystats.txt的额外信息。
在这里插入图片描述
1、System Stats页包括系统维度的统计数据,比如移动网络信号level和屏幕亮度。这部分信息对当前设备正在进行的任务做了一个概览。这非常有利于确保没有其他事件正在影响你的测试。
2、App Stats页包含特定App的信息。“Sort apps by”下拉列表在左边的“App Selection”区域。你可以从apps下拉列表中选择一个特定的app然后查看它的stats。

参考文档

https://developer.android.com/topic/performance/power/setup-battery-historian

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43063.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

APP-耗电量测试-battery-historian-master

这里主要是比较简单的Battery historian的操作,这个脚本文件只能用在python2版本,python3会语法报错 1.首先要下载并且解压historian的压缩包文件 battery-historian-master.zip Github下载地址 2.然后用adb命令开始操作手机 首先是清除测试前电量的数据 adb she…

Android App 耗电量分析-1

分为新老两个版本的SDK-TOOL,新版的放在另外一篇博客 Android App 电量分析https://blog.csdn.net/kan137g/article/details/84886277 耗电操作主要分为下面几种 高频通信CPU密集型的计算传感器 频繁唤醒系统 解决方案 -减少:您的应用可以裁剪多少操…

耗电优化(上):Android App 耗电分析

这里写目录标题 1. 电量和硬件1.1 App 通过使用硬件模块消耗相应的电能1.2 资源调度机制是厂商功耗优化最重要的手段 2. 电量和应用程序2.1 评估不同应用程序的耗电情况结论:把电量的测量转化为功能模块的使用时间或者次数 2.2 尽可能准确的测量电量bug report结合 …

图文结合,教您如何使用Trepn Profiler测试手机应用的耗电量

摘要:Trepn Profiler 可以帮助准确分析手机应用耗电情况的Android应用,可以测量很多与电池有关的数据,本文将结合图文,详细讲解如何操作。 Trepn Profiler 是一款帮助准确分析手机应用耗电情况的Android应用,可以测量很…

本地部署 ChatGLM-6B

本地部署 ChatGLM-6B 1. 什么是 ChatGLM-6B2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 ChatGLM-6B6. 启动 ChatGLM-6B7. 访问 ChatGLM-6B8. API部署9. 命令行部署10. 其他,修改使用显存大小11. ChatGLM-6B 的推理参数含义 1. 什么是 ChatGLM-6B Chat…

文心:PPT 制作、数字人主播一键开播等应用场景惊艳到我了,下面给到Prompt工程详细教程应用场景及案例

文心:PPT 制作、数字人主播一键开播等应用场景惊艳到我了,下面给到Prompt工程详细教程应用场景及案例 1.文心千帆简介 文心千帆优势 基础强大、知识丰富 文心千帆平台基于百度智能云,采用飞桨深度学习框架作为底层支撑,并内置文心…

【SQLAlchemy】第二篇——连接失效及连接池

一、背景 为了节约资源,MySQL会对建立的连接进行监控,当某些连接处于不活跃状态的时间超过一个阈值时,则关闭它们。 用户可以执行show variables like %wait_timeout%;来查看这个阈值: 可以看到,在默认的情况下&…

一个程序员的意想流

Readme:记录生活、工作、学习中自己的思考和想法,但是可能很杂乱的。目的为了提升自己BB的能力。 2023.3.9: 作为一个嵌入式(底层)开发者,通过对Linux内核的不断深入,包括VFS、内存管理、进程管…

ChatGPT提示词工程师 | prompt engineering | 吴恩达教你写提示词 课程笔记

Lecture1 引言 两种大语言模型(LLMs,Large Language Models): Base LLM: Predicts next word, based on text training dataInstruction Tuned LLM: Tries to follow instructions Lecture2 指南 使用C…

chatgpt提示词学习指南,提示词工程,提示词汇总

这篇gpt提示词指南我会随着我的学习一直更新。 结构 好的提示词角色(能力)上下文详细的指令说明风格输出格式 角色(必填):可以给模型提供特定的能力,让它更好的解决我们的问题,在声明角色后,…

股票入门基础知识之投资家有哪些?股票入门基础知识中的投资角色

《量化分析海龟训练营》课程学员:一般来说哪些人投资做得好呢? 同济桥博士:投资是一门科学,有很多研究投资的人拿到过诺贝尔经济学奖,投资做得好有五类人:科学家、哲学家、神学家、交易员、民间高手。最后…

投资理财启蒙之理财入门必看?

投资基金股票是怎么赚钱的 ? 公司上市就是为了融资扩大规模,需要在上海/深圳证券交易所去审批,现在国家注册制落实后,现在企业要上市很严格的需要公开公司的各方面情况的 ,投资渠道也正规,比如支付宝/微信&…

金融业务知识(2):股票交易的基本流程

股票交易的基本流程 (一)开户 需要开立证券账户和资金账户 证券账户用来记载投资者所持有的证券种类、数量和相应的变动情况 资金账户则用来记载和反映投资者买卖证券的货币收付和结存数额。 开立证券账户和资金账户后,投资者买卖证券所涉…

基金投资入门3:中外常见金融指数类型说明

在每天的新闻及财经类文章中,经常听到当日的上证综指、深证成指、沪深300指数是多少点、涨跌幅是多少。 大家潜意识中认为指数点、涨跌幅越高越好,至于各指数代表的是什么意思并不清楚,但是对于刚接触投资理财的朋友,只有搞懂各指…

最新FRM一级二级handbook官方教材原版书

最新FRM一级二级教材囊括了FRM考试需要掌握的所有要点和难点,并进行了深入细致地讲解。本教材紧扣GARP协会新版教材的章节编排,加入了编著者多本同类教材的编写经验和一线教学经验的总结,并关注了国际国内**的风控热点。

证券交易金融知识学习(1)

学习目标: 需要做一些关于投资交易软件的测试,需要了解操作背后的交易意义,需要学习一些金融基础知识。本人是金融证券交易的小白,从0开始学习。故记录一些金融知识学习的笔记,比较零散,目的是为了让自己复…

【转】投资从入门到精通,七本经典书籍

http://www.create.hk/archives/158 随着我国股市的复苏、资本市场的规律,却去研究一些“技术分析”之类的理论,是不科学的。“技术分析”属于玄学,也就是形而上学。目前在我国东部沿海地区,由于投资者知识和经验的日益增多&…

投资学翻译1

生产网络与股票回报:垂直创造性破坏的作用 本文从实证和理论两方面研究了生产网络中企业风险与企业与消费者距离之间的关系。我们记录了两个新事实:离消费者越远的企业,其风险溢价越高,对总生产率的影响也越大。我们用一个具有多层生产过程的一般均衡模…

电商设计师(美工)必备的素材网站|优图!

平时我们再做设计的时候,时间长了也很苦恼,而甲方或者老班总是要求我们要做高大上或者有灵感的作品。而灵感不是说来就来的呀~~~ 电商大致的素材类型你知道么? 首焦海报、PC促销海报、M端海报、大促首页、M端大促页面、页面设计、详情页、电…