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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值