电量使用情况android系统,使用 Battery Historian 分析耗电情况

您可以通过 Battery Historian 工具了解设备随时间的耗电情况。在系统级别,该工具以 HTML 的形式可视化来自系统日志的电源相关事件。在具体应用级别,该工具可提供各种数据,帮助您识别耗电的应用行为。

本文档介绍了使用 Battery Historian 了解耗电模式的一些方法。文档首先介绍如何读取 Battery Historian 报告的系统级数据,然后讨论如何使用 Battery Historian 诊断和排查与电池消耗相关的应用行为,最后提供了一些有关特别适合使用 Battery Historian 的场景的提示。

使用系统级视图

Battery Historian 工具提供各种应用和系统行为的系统级可视化结果,以及它们随时间推移与耗电量的相关性。如图 1 所示,此视图可帮助您诊断和识别应用存在的耗电问题。

d5be4f3121686b3cc6f5735a28ac8e67.png

图 1. Battery Historian 显示了影响功耗的系统级事件。

该图中特别值得注意的是表示电池电量的黑色水平下降趋势线(在 y 轴上进行测量)。例如,在电池电量线的最开始处,大约早上 6:50 时,该图表显示电量出现较为急剧的下降。

图 2 为该部分显示画面的特写图。

71d26c3cee4c4df4f343b0ccfaadfe25.png

图 2. Battery Historian 时间轴(大约从早上 6:50 到 7:20)的特写图。

在电池电量线的最开始处,随着电池电量的急剧下降,显示画面上显示有三件事正在发生:CPU 正在运行,应用已获取唤醒锁定,且屏幕已打开。通过这种方式,Battery Historian 可帮助您了解耗电量高时正在发生什么事件。然后,您可以针对应用中的这些行为,研究是否可以进行相关优化。

系统级可视化还可以提供其他线索。例如,如果它显示移动无线装置频繁关闭和开启,则可能有机会通过智能调度 API(如 JobScheduler 或 Firebase Job Dispatcher 等)优化此行为。

下一部分将介绍如何调查特定于您自己的应用的行为和事件。

查看具体应用的数据

除了系统级数据视图提供的宏观数据外,Battery Historian 还提供特定于您设备上运行的每个应用的数据表格和部分可视化内容。表格数据包括:

应用在设备上的估计耗电量。

网络信息。

唤醒锁定次数。

服务。

进程信息。

表格提供了关于您的应用的两个数据维度。首先,您可以查找应用的耗电量与其他应用相比的排名位置。为此,请点击“Tables”下的“Device Power Estimates”表格。本示例研究了一款名为“Pug Power”的虚构应用。

b5b7d09f1b5e2ddb96ac76b1416c89e3.png

图 3. 研究哪些应用的耗电量最大。

图 3 中的表格显示,Pug Power 在此设备上的耗电量排名第九,在不属于操作系统的应用中排名第三。这些数据表明此应用需要更深入的研究。

要查找特定应用的数据,在可视化图表左侧下方,在“App Selection”下方的第二个下拉菜单中输入应用的软件包名称。

7436775e6d0337e8eca4c66bcc16c8db.png

图 4. 输入特定的应用以查看其数据。

当您选择特定应用时,以下数据可视化类别将更改为显示具体应用数据,而不是系统级数据:

SyncManager。

前台进程。

用户空间唤醒锁定。

热门应用。

JobScheduler。

Activity Manager Proc。

如果您的应用以不必要的频率执行同步和执行作业,SyncManager 和 JobScheduler 可视化图表会立即突出显示这种情况。这样,它们能快速展露出优化应用行为以提升电池性能的机会。

您还可以再获取具体应用的一条可视化数据,即用户空间唤醒锁定。要将此信息包含在错误报告中,请在终端窗口中输入以下命令:

$ adb shell dumpsys batterystats --enable full-wake-history注意:从 Android 6.0(API 级别 23)开始,平台包含对应用实施特定优化的低电耗模式功能。例如,无论 JobScheduler 的调度方式如何,低电耗模式都会将作业处理成在简短的维护期间批量进行。

图 5 和图 6 显示了 PugPower 的数据:图 5 显示了具体应用数据的可视化图表,图 6 显示了相应的表格数据。

99185796f55f734fa33d70984776f5c7.png

图 5. 虚构应用 Pug Power 的数据可视化图表。

dfeaa1c3ee2a148ab7f2b2d624e8601b.png

图 6. 虚构应用 Pugle Power 的表格数据。

查看可视化图表并没有发现任何显而易见的问题。JobScheduler 行显示应用没有调度作业。SyncManager 行显示应用尚未执行任何同步操作。

不过,查看表格数据的“唤醒锁定”部分发现,Pug Power 获取了 1 个小时内的唤醒锁定总次数。这种代价高昂的异常行为可能是应用耗电量较高的原因。这条信息有助于开发者专攻优化后可能会大大获益的方面。在这种情况下,为什么应用会获得如此多的唤醒锁定时间,开发者又如何改善这种行为呢?

Battery Historian 的其他功能

在很多其他情况下,Battery Historian 也可帮助您找出改善电池行为的机会。例如,Battery Historian 可以显示应用是否具有以下行为:

过于频繁地触发唤醒提醒(至少每 10 秒钟一次)。

持续保留 GPS 锁定。

至少每 30 秒调度一次作业。

至少每 30 秒调度一次同步。

使用手机无线装置的频率高于预期。

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

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

相关文章

android app耗电分析方法

这是一篇讲述应用耗电的文章,围绕 Android 电量采集机制及第二代 Battery Historian 分析工具讲述。文从数据采集、导出、环境搭建、解读报告的角度出发,从细节讲解整个流程。和大谈概念的文章不同,这里将进行实际操作及分析。 写作动机来源…

Android App 耗电的测试方法

这是一篇讲述应用耗电的文章,围绕 Android 电量采集机制及第二代Battery Historian分析工具讲述。文从数据采集、导出、环境搭建、解读报告的角度出发,从细节讲解整个流程。和大谈概念的文章不同,这里将进行实际操作及分析。 电量统计模块概…

一种Android应用耗电定位方案

背景 通常来说,app耗电相比于其他的性能问题(Crash,Anr)等,会受到比较少的关注,耗电通常是一个app隐藏的性能问题,同时又由于手机性能不同,使用时长不同,使用习惯不同&a…

如何降低android应用程序的耗电量

转自:http://www.apkbus.com/forum.php?modviewthread&tid5459&extrapage%3D3 如果手机(移动设备)没电了,你的程序还能运行吗? 哈哈,这是地球人都知道的问题,那么如何才能降低androi…

IOS耗电量测试(一)耗电量数据获取

转载:https://blog.csdn.net/redcard0/article/details/89030124 随着游戏越来越重度,游戏耗电太高造成游戏发烫的投诉量已经仅次于帧率,高于针对内存崩溃的投诉。优化的前提是耗电量数据可以度量,本文主要阐述耗电量数据如何获取…

APP专项测试之耗电量测试

一、耗电量测试分析 相对于PC端来说,移动设备的电池电量是非常有限的,保持持久的续航能力尤为重要。Android的很多特性都比较耗电(如屏幕、GPS、sensor传感器、唤醒机制、CPU、连网等的使用),我们必须要慎重检查APP的…

如何测试Android APP的耗电量?

现在可以使用google提供的battery-historian来测试,适用条件:5.0及以上手机。 battery-historian链接:google/battery-historian android吧 所以的android都自带的功能 设置--->电池/电源管理/ MQC在兼容性测试、功能测试、稳定性测试中都…

app耗电量测试

目录 目录 1. 引言 2. 测试方法 2.1. 直接观察 2.2. 使用adb命令进行统计 3. 典型的耗电场景 3.1. 定位 3.2. 网络传输 3.3. 音视频播放 4. app电量分析工具 4.1. Batterystats 4.2. Battery Historian 5. 环境安装 5.1. adb命令 5.2. 安装go 5.3. 安装git 5.4…

盘点COVID-19新冠药物和疫苗研发进展

COVID-19是由严重急性呼吸系统综合症冠状病毒2(SARS-CoV-2)引起的一种传染病,这是一种单股正链RNAβ冠状病毒,它是Beta-CoV谱系B( Sarbecovirus亚属)。 COVID-19代表着全球健康威胁,并且是可能引…

药物临床试验数据递交FDA的规定

信息来源: https://www.fda.gov/industry/fda-data-standards-advisory-board/study-data-standards-resources STUDY DATA TECHNICAL CONFORMANCE GUIDE v4.9 (March 2022) (研究数据技术一致性指南) 仅提取该文档中的部分内容加以翻译,以下中文都是…

姜敬哲/孙燕妮/原丽红合作开发可用于病毒快速分类的工具PhaGCN2

南海水产研究所姜敬哲团队、香港城市大学孙燕妮团队、广东药科大学原丽红合作开发的可用于病毒快速分类生信工具 使用PhaGCN2对病毒基因组片段分类 Virus classification for viral genomic fragments using PhaGCN2 文章链接:https://www.researchsquare.com/artic…

多组学在药物机制解析和诊断标志物开发中的应用

链接:多组学在药物机制解析和诊断标志物开发中的应用_哔哩哔哩_bilibili 药物研发流程和多组学前沿技术 药物研发流程遇到的挑战 流程:新药的发现——临床前研究——临床研究 挑战: 诊断是否清晰、机制是否明确、靶点是否可靠、药物是否有…

药物研发早期预测细胞毒性的解决方案

药物从设计到上市的整个研究阶段,毒性通常是导致研发失败的最主要原因。即使上市以后还有许多药物由于出现研发阶段未能发现的毒性而被撤市或严格限制使用。因此,如何及时、准确、快速地评价药物毒性便成为药物开发中的一个重要问题。 在体外快速的、高…

针对新冠病毒,盛普始终坚持多靶标协同的防治病毒药物研发

全球范围内的新冠确诊人数仍旧在增加,“特效治疗药”依然没有找到。凛冬已至,更适于病毒传播的寒冷高湿天气已经笼罩了半个地球。在一片阴霾的疫情当中,“希望之光”开始浮现,新冠疫苗和单一靶标的小分子药物开始被世界各国政府应急准入市场。这些疫苗和小分子药物依靠海量…

3CLpro蛋白酶抑制剂,如何靠实力进入新冠病毒诊疗方案

3月15日,国家卫健委发布《新型冠状病毒肺炎诊疗方案(试行第九版)》,在抗病毒治疗中,抗新冠病毒药物PF-07321332/利托那韦片(Paxlovid)被写入诊疗方案。Paxlovid是由两种抗病毒药物组成&#xff…

关于CV算法岗就业相关问题,精华回答分享

粉丝提问: 你好,看星球上做前端,后端,java 的人比较多,好像没有看到有多少人做算法,我现在已经毕业了,是一名 cv 算法工程师,但是我现在很苦恼,感觉自己代码能力很弱&am…

chatgpt赋能python:Python自动打开软件:实现轻松便捷的操作

Python自动打开软件:实现轻松便捷的操作 在许多工作场所,我们可能需要反复打开某个软件,费时费力。那么有没有一种方式能够轻松地自动打开特定软件呢?此时Python便是一个好帮手。PythonとWINDOWS关联性较强,可以方便地…

Golang/Python 调用 openAI 的API 详解

学习目标: OpenAI API介绍 学习如何通过 Golang 使用 OpenAI 的 API OpenAI 的常用的参数及其说明 了解OpenAI API 中令牌(tokens) OpenAI API 提供了几个不同的终端点(endpoints)和模式(modes) 复杂和…

我改了一行公共代码后,同事说要建个没我的小群

点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 嗨,大家好!这里是道长王jj~ 🎩🧙‍♂️ 今天我想和大家分享一个惨痛的教训,就是当我一意孤行地删掉一个看起来没用的配置文件时&#…