5-电量

2024-03-19 18:30
文章标签 电量

本文主要是介绍5-电量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

注意:需要翻*墙~需要翻*墙~需要翻*墙~要翻*墙~翻*墙~墙

电量这一块,想做到非常精准,最好的方法是用硬件设备来测试~~

一般来说我们1不是做手机的,2不是做ROM的,要那么精准的值干嘛?有个参考的数据值就可以了么,╮(╯▽╰)╭.

电量想要测试的高大上,避免不了高大上的工具~隆重向大家介绍谷歌官方发布的<Battery Historian 2.0>电量分析工具````

[英文好的小伙伴~丢给你们一个下载地址及教程:https://github.com/google/battery-historian]

 

Battery Historian 2.0安装须知

  1.Battery Historian 2.0使用GO语言开发~所以我们要先装GO语言,下载地址:http://golang.org/doc/install 

推荐下载'.msi'傻瓜式安装即可,环境变量自动配置~很方便.装好后把'X:\Go\bin'增加在Path中,增加一个"GOPATH"顺便检查一下环境配置'GOROOT':

检查无误后,打开cmd输入"go version",显示出版本号,证明安装成功了:

 

2.安装'Git'和'python2.X版本'和'java',安装过程都很简单,百度一下一堆资料,都是一路下一步即可,最后记得配置环境变量:

 

 

3.1我们打开文件夹:C:\Go\bin 然后"shift+鼠标右键"->"在此处打开命令窗口"

3.2打开命令窗口后输入:go get -d -u github.com/google/battery-historian/...

大概需要等待3分钟~~

 

3.3接着我们到D盘查看:D:\GO\src\github.com\google\battery-historian

 

 

3.4然后"shift+鼠标右键"->"在此处打开命令窗口" 输入:go run setup.go 

 

这个等待时间有点长了~我的网速用了10分钟左右````

 

3.5完成这一步之后我们的Battery Historian 2.0就安装完成了,在安装目录下,使用命令启动工具:go run cmd\battery-historian\battery-historian.go

 

启动时弹出对话框什么的"允许"就对了~出现上图类似情况证明启动成功~这个命令窗口不要关闭,关了工具就关了~

 

3.6接着用浏览器打开:127.0.0.1:9999,看看:

出现如上图,就算启动成功了~

获取'bugreport分析图'

  首选,安卓版本至少要是:5.0+

  然后,开启分析图:adb shell dumpsys batterystats --enable full-wake-history

 

  最后,导出分析图:adb bugreport > bugreport.txt

时间可能会略长

 

使用"bugreport"

  1.启动Battery Historian2.0,打开:127.0.0.1:9999

  2.点击"Browse",选择刚刚导出的'bugreport.txt',点击"Submit"

  3.打开以后长这样:

 

  4.向下滑还可以选择某个package查看:

 

尼玛~好长~累死~

 

需要注意的其它点

 

1.Battery Historian2.0从安装到使用的时候,一定要翻*墙,因为它会加载一些国外源的前端库之类的东西.

你也可以不翻*墙使用Battery Historian2.0,然后点击浏览器的F12查看"Console"之中那些前端库加载失败了,使用国内源替换.

但是替换之后,偶尔也会出现类似原因造成的问题~~水平有限不知道为啥~所以最好的办法就是保持翻*墙.

一般都是到这个文件内替换(base):

 

2.注意取值过程中要保证手机是非充电状态~其实只要不插USB线就可以了,如果你设计的一系列场景中涉及到必须要插USB线的时候,可以使用下面这条命令

手机切换至非充电状态:adb shell dumpsys battery set status 1

实际上只要不是2就处于非充电状态,所以恢复可充电就把1换成2

 

3.通过上述方法取出的值是不断累计的结果,系统不会主动清除记录,所以采集电量之前我们要清除以前的数据,来确保新数据有更高的可依据性

清空之后,按照一系列设计好的场景,对app进行操作,最后取出数据进行分析

清空以前的旧记录:adb shell dumpsys batterystats --reset

 

 4.电量测试是一个复杂的活,我们要知道程序之所以会耗电是因为在使用硬件资源。比如屏幕~CPU~流量,我们在收集到数据之后可能要具体问题具体分析了,比如说

如果关闭流量比开启流量更加耗电,我们就可以怀疑程序检查网络连接的代码有问题,因为在断网时应该更省电,可能是程序在一直检测网络状态导致CPU长时间大频率使用,增加耗电量。

如果发现某场景数据异常,那么首先要沏茶一壶,再找个舒服的凳子,然后来到程序猿旁边,最后心平气静的问他你在这块代码里都干啥了?

-----华丽的吐槽线-----

((╯‵□′)╯︵┻━┻  鬼知道程序猿们会写出什么BUG)

转载于:https://www.cnblogs.com/dianxiao2/p/6212170.html

这篇关于5-电量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/826894

相关文章

没有电流设备的情况下的App电量测试

选择场景,缩小问题范围,找到问题步骤,定位问题,然后解决问题 在平时测试中的注意,如果有问题可以用电流计在精细测试得出结论。 百分比方法可以粗略的估计应用的耗电情况,如果应用出现问题,在系统设置就会出现异常排在前列持续操作某个场景1-2个小时,查看电流耗电情况,根据电池的总量计算wakelock在dumpsys batterystats下面的时间弱网条件下,可以通过charles等prox

电量曲线的拟合算法

实际应用中会遇到电池电量显示的问题,可以用单片机的adc模块采样电池的电压,然后输出,普通的做法是将采样的电压如下计算得到电量百分比输出 static uint8_t cal_percentage(void){uint8_t percentage;percentage = get_adc_value / rated_voltage;return percentage;} 将得到的数值加

每小时电量的计算sql

计算思路,把每小时的电表最大记录取出来,然后用当前小时的最大值减去上个小时的最大值即可。 使用了MYSQL8窗口函数进行计算。 SELECT b.*,b.epimp - b.lastEmimp ecValue FROM (SELECT a.deviceId,a.ctime,a.epimp, lag(epimp) over (ORDER BY a.deviceId,a.ctime) AS la

QT for android通过其配置文件读取电量

网上找相关资料,但很少,有从这个SYSTEM_POWER_STATUS里获取的方法,但我无法使用,苦寻很久,突然发现原来可以通过安卓本身的系统文件中获取 关键点:在安卓的系统文件中"/sys/class/power_supply/battery/uevent"可以直接读取到电量的值 方法一: 利用QFile,读取完记得关闭该文件 // 读取本地文件QString file_path

App Inventor 2 TaifunBattery 电池管理器拓展,获取电量、电池容量

TaifunBattery 电池管理器拓展 电池管理器扩展。所需权限:无 demo效果图: 属性 返回当前健康常量。 可能的值有:冷(cold)、死(dead)、好(good)、过热(overheat)、过压(over voltage)、未知(unknown)、未指定故障(unspecified failure)。 返回电池电量。 可能的值介于 0%

Android应用的电量消耗和优化的策略

对于Android移动应用的开发者来说,耗电量的控制一直是个老大难问题。      我们想要控制耗电量,必须要有工具或者方法比较准确的定位应用的耗电情况。下面,我们先来分析下如何计算android应用的耗电量。    在android自带的设置里面有电量计算的界面,如下图:    我们看下是如何实现的:​    在android framework里面

powershell@命令行提示符样式配置自定义@pwsh重写prompt显示电量内存时间等信息

文章目录 abstract流行的powershell prompt模块示例 powershell原生修改Prompt函数配置文档Prompt命令来自哪里 简单修改带上电量和时间的Prompt 复杂修改预览FAQ:没有必要修改相关仓库地址样式选择平衡样式花哨样式响应性能 小结 abstract 在 PowerShell 中,可以通过自定义 $prompt 变量来修改命令行提示符

电量提醒

生活中我们会发现一个现象,手机到了某个电量的时候就会进行提醒(比如说我的手机到了15%和5%的电量时都会有电量提醒),这个功能能够告诉用户:“该充电了!”。但是我最经就遇到了一个问题,因为我做了一个小屏终端(比240*320还小的),所以有很多东西都显示不全,出这个提醒的时候不但会状态栏变空(因为有通知,而客户是不需要的),还会出现一个问题——会有三个横线把屏幕给遮挡了(因为发了通

android 2.3 电量管理

1.     介绍.... 4 2.     电池管理.... 4 2.1.      FrameWork.. 5 2.1.1.       监听... 5 2.1.1.1.     UEventObserver的实现... 6 2.1.1.2.     uevent 8 2.1.2.       状态读取... 9 2.1.3.       更新显示... 9 2.2.      驱动...

【腾讯TMQ】手机发烫是为何 --App电量测试定位方法

为什么要做电量测试 随着移动互联网的快速发展,手机的实用性、娱乐性越来越强。日常使用中发现,安装了应用后,即使不怎么使用,电量也会消耗很快。但如果恢复出场设置充满电后,手机可以待机很长时间。真相只有一个:手机耗电的最终元凶是软件。 在各大应用市场中搜索“电量管理”相关应用,每个应用都有几万到几十万次的下载量。这说明,越来越多的用户开始关注应用电量问题。所以,在研发阶段,有效的检测和定位电量问题