中山精品网站建设流程,wordpress 首页导航代码,app开发工具简单,网络正常但网页打不开阅读五分钟#xff0c;每日十点#xff0c;和您一起终身学习#xff0c;这里是程序员Android 本篇文章主要介绍 Android 开发中 电量 的部分知识点#xff0c;通过阅读本篇文章#xff0c;您将收获以下内容: 一、安装Battery Historian二、收集Batterystats 数据三、使用B… 阅读五分钟每日十点和您一起终身学习这里是程序员Android 本篇文章主要介绍 Android 开发中 电量 的部分知识点通过阅读本篇文章您将收获以下内容: 一、安装Battery Historian二、收集Batterystats 数据三、使用Battery Historian分析数据四、Batterystats 额外数据五、使用Battery Historian 分析电量消耗六、Battery Historian能干什么 本文主要分析了Batterystats工具和Battery Historian脚本的基本用法和工作流程。 Batterystats是一个包含在Android框架中的工具用于收集设备上的电池数据。您可以使用adb将收集的电池数据转储到您的开发机器上并创建一个报告您可以使用Battery Historian进行分析。Battery Historian将来自Batterystats的报告转换为可在浏览器中查看的HTML可视化文件。 它有什么好处 向您显示过程在何处以及如何从电池中吸取电流。识别您的应用程序中可延期或甚至删除的任务以延长电池寿命。 一、安装Battery Historian 安装Battery Historian的最简单方法是使用Docker。有关备用安装方法包括从源代码构建。要使用Docker进行安装请执行以下操作 1.按照Docker网站上的说明安装Docker Community Edition。2.要确认Docker已正确安装请打开命令行并输入以下命令docker run hello-world Docker 成功安装信息 3.使用以下命令运行Battery Historian图像 docker --run -p port_number:9999 gcr.io/android-battery-historian:2.1 --port 9999 4.在浏览器中导航到Battery Historian以确认它正在运行。地址因操作系统而异 Linux and Machttp://localhost/port_numberFor Windowshttp://123.456.78.90:port_number您将看到Battery Historian起始页面您可以在其中上载和查看电池统计信息。 Battery Historian 首页 二、收集Batterystats 数据 连接手机打开开发者模式连接adb。 1.重置 batterystats 数据 adb shell dumpsys batterystats --reset 设备始终在后台收集batterystats和其他调试信息。重置会清除旧电池采集数据. 2.断开设备与电脑的连接以便只从设备的电池中消耗电流。3.玩你的应用程序并执行你想要的数据的行为; 例如断开与WiFi的连接并将数据发送到云端。4.重新连接手机dump数据 adb shell dumpsys batterystats [path/]batterystats.txt 5.导出原始bugreport数据 Android 7.0 以上adb bugreport [path/]bugreport.zip Android 5.0/ 6.0adb bugreport [path/]bugreport.txt 6.打开并提交分析数据Battery Historian分析网站 需翻墙 三、使用Battery Historian分析数据 成功提交后数据分析如下 Battery Historian 1.从下拉列表中添加其他指标。2.将鼠标悬停在信息图标上可查看有关每个指标的更多信息包括图表中使用的颜色的关键字。3.将鼠标悬停在栏上即可查看有关该指标的详细信息以及时间线上特定点的电池状态。 四、Batterystats 额外数据 Battery Historian图表下面的stats部分可以查看batterystats.txt文件中的其他信息。 Batterystats 额外数据 System Stats选项卡包含系统范围的统计信息,如单元信号级别和屏幕亮度。这些信息提供了设备发生情况的整体情况。这对确保没有外部事件影响您的测试特别有用。App Stats选项卡包含有关特定应用程序的信息。使用左侧的应用程序选择窗格中图3排序应用程序下拉列表对应用程序列表进行排序。您可以选择一个特定的应用程序来查看使用下面图4个应用程序下拉列表的统计信息。 五、使用 Battery Historian 分析电量消耗 Battery Historian工具提供了一段时间内设备电池消耗的深入分析。在全系统级别该工具以HTML表示形式从系统日志中查看与电源相关的事件。在特定应用程序级别该工具提供了各种数据可帮助您确定电池耗尽应用程序的行为。 本文档介绍了使用Battery Historian了解电池消耗模式的一些方法。该文件首先解释如何读取Battery Historian报告的系统范围数据。然后介绍如何使用Battery Historian诊断和解决与电池消耗有关的应用行为。最后它提供了有关Battery Historian可能特别有用的场景的几个提示。 Battery Historian工具提供了各种应用程序和系统行为的系统范围可视化以及随着时间的推移与电池消耗的相关性 Battery Historian 事例 此图特别感兴趣的是在y轴上测量的代表电池电量的黑色水平下降趋势线。例如在电池水平线的最开始时间点大约早上6点50分可视化显示电池电量水平相对急剧下降。 CPU 唤醒锁等信息 在电池电量线开始时随着电池电量急剧下降显示屏显示出三件事CPU正在运行应用程序已获取唤醒锁屏幕亮起。通过这种方式Battery Historian可帮助您了解电池消耗高时发生的事件。然后您可以将这些行为定位到您的应用中并调查是否可以进行相关的优化。 除了系统范围内提供的宏观数据外Battery Historian还提供特定于设备上运行的每个应用程序的表格和一些可视化数据。表格数据包括 该应用在设备上的预计用电量。网络信息。Wakelocks。服务。进程信息。 这些表格提供了有关您的应用的两个维度数据。首先您可以查看您的应用的用电量排名与其他应用的相比。为此请单击表下的设备功率估算表。这个例子考察了一个名为Pug Power的虚构应用程序。 调查哪些应用程序消耗的功率最大 上图的表格显示Pug Power是该设备上第九大电池供电用户也是不属于操作系统的第三大应用。这个数据表明这个应用程序承担更深入的调查。 要查找特定应用程序的数据请将其包名称输入位于可视化左侧下方应用程序选择下的两个下拉菜单中的较低位置 当您选择特定的应用程序时以下数据可视化类别将更改为显示应用程序特定的数据而不是系统范围的数据 SyncManager.Foreground process.Userspace Wakelock.Top app.JobScheduler.Activity Manager Proc. 如果您的应用程序执行同步并执行作业的次数超过必要SyncManager和JobScheduler可视化立即显而易见。在此过程中他们可以快速发现优化应用行为以改善电池性能的机会。 您还可以获得更多的特定于应用程序的可视化数据用户空间Wakelock。要将此信息包含在错误报告中请在终端窗口中输入以下命令adb shell dumpsys batterystats --enable full-wake-history ps:从Android 6.0API级别23开始该平台包含Doze功能这对应用程序实施了某些优化。例如无论JobScheduler如何安排他们Doze都会在短期维护时段内批处理作业。 显示特定应用的可视化数据 应用数据表格 看看可视化并不立即显示任何东西。JobScheduler行显示该应用程序没有计划任务。SyncManager行显示应用程序未执行任何同步。 然而对表格数据的Wakelocks部分的检查表明帕格电力总共花费了一个多小时的时间。这种不寻常的和昂贵的行为可以解释应用程序的高功耗水平。这一信息有助于开发人员瞄准优化可能极大帮助的领域。在这种情况下为什么应用程序会获得如此多的唤醒时间开发人员如何改善这种行为 六、Battery Historian能干什么 Battery Historian还可以帮助您诊断改善电池行为的机会。例如Battery Historian可以告诉你你的应用程序是否 过度频繁地发出唤醒警报每10秒钟或更少。持续持有GPS锁。每30秒或更短时间安排一次作业。计划每30秒或更短时间同步一次。更频繁地使用蜂窝无线电比您期望的更频繁。 至此本篇已结束如有不对的地方欢迎您的建议与指正。同时期待您的关注感谢您的阅读谢谢 点个在看方便您使用时快速查找