#【背景】
目前输出的 app 已经出现多次因为资源释放不当导致的异常耗电,严重的影响了用户在 F 产品使用中的体验。性能测试虽然引入了耗电量测试,但是当前的手段效率相对较低 (通过长时间使用来观察耗电状况)。

#【解决思路】

#【耗电量测试要点】

屏幕快照 2016-10-24 下午4.26.34.png

不过 0.1v 的电压精度,1ma 的电流进度对于测试来说已经足够了,这个误差已经比软件实现的测试方案高很多了。如下图,本身输出的电压也还是比较精准的。如下图,在 4v 的电压输出时,输出大约是 3.99。误差已经很小了。

屏幕快照 2016-10-24 下午4.26.42.png

操作步骤第一步,确定手机的正反接线柱。如图所示,参考电池连接的位置即可。电源关机连接线。

屏幕快照 2016-10-24 下午4.26.49.png

开机,确定输出的电压设置为 4v。如果不是 4v,按 9 增加电压,按 3 降低电压。需要说明下,通常手机电池的电压输出再 3.7~4.2。但是并不是绝对的,有的手机比如三星会到 4.35。另外说明一下,手机的电量是通过电压的变化来换算的,但是电压变化不是线性的,不同的厂商定义的计算方式都不同。会在不少手机上看到充满 100% 之后第一个百分点能用很久,或者最后几个百分点能用很久。确定连接无误之后,启动手机开机就可以了。如下图左侧显示的就是当前手机显示的耗电量了。开机后,启动本身耗电量是比较大的,等待一分钟左右,耗电量会处于一个稳定状态,如下图大约降到 209mA,这个值需要记下来,这是手机处于 idle 且开启屏幕的耗电量。

屏幕快照 2016-10-24 下午4.26.55.png

然后开始测试我们的 app,如测试某谷直销银行在启动时的耗电量。当然了本身启动的过程是不同的进程交汇的结果,耗电上自然也不是绝对的一条直线,而是有一定的抖动,这个阶段我们可以使用拍照方式,取下这段时间的数据求均值。如下面前三个图片,耗电量约在 360mA,减去 idle 状态的耗电 209,启动瞬间的耗电量大约为 150mA。而在加载完毕后,耗电量会有所下降。如下图四

屏幕快照 2016-10-24 下午4.27.01.png

屏幕快照 2016-10-24 下午4.27.06.png

屏幕快照 2016-10-24 下午4.27.11.png

屏幕快照 2016-10-24 下午4.27.17.png

刚已经有说明,耗电量测试主要是测两点,资源是不是有过渡使用,另外就是是否正确被释放。所以接下来就是分别测试 app 到后台的耗电状况,以及 app 退出的耗电状况。如下图,app 退出后,耗电量降到 213mA,和启动前相当。

屏幕快照 2016-10-24 下午4.27.23.png

在 app 使用中直接锁屏,等待若干秒后,耗电量下降到 5mA。不要问我为什么之前耗电不是要看半小时用多少电量么。那我得说,距离等于速度乘以时间。

屏幕快照 2016-10-24 下午4.27.30.png

iOS 的操作也是一样的,发个截图瞅瞅

屏幕快照 2016-10-24 下午4.27.36.png


↙↙↙阅读原文可查看相关链接,并与作者交流