背景
最近比较喜欢玩手机上的吃鸡游戏,不过玩着玩着手机经常性的发热,耗电也快的飞起。但是如何描述耗电的水平是个比较头疼的问题。
目前测试耗电的方案也比较多.
电流仪:这个需要拆手机
穷团队测试耗电量出路(https://testerhome.com/topics/10826)
腾讯电量仪——智能硬件测试工具尝试之路(https://testerhome.com/topics/5696)
软件方案:不需要拆手机的
详解 Android 耗电量 API(https://testerhome.com/topics/3503)
Android 获取详细功耗(https://testerhome.com/topics/10098)
搬运:Battery Historian 2.0(https://testerhome.com/topics/3733)
深入浅出 Android App 耗电量统计(https://testerhome.com/topics/2331)
因为我实在不舍得拆我的手机,所以只能去研究软件方案了。但是我又不需要知道具体的耗电原因,battery-historian这款重量级的软件就先不用了。
考虑到我只是想之前当前玩的游戏的能耗等级,就像冰箱上经常贴的能耗等级一样。方案还是简单一点好。
设计测试方案
冰箱是按照每天的耗电量,手机App能耗等级的话,就按照平均电流(单位mA)来计算好了。
测试方法
准备
卸载所有的应用
充满电
保持手机最高亮度(只是为了固定一个值,方便对比)
关闭蓝牙
拔掉电源,打开一个常亮App,测试正常情况下的平均电流值
开始
安装待测试app,重新充满电。
进去待测试场景,连续运行10分钟,记录一次电流值。
计算
app运行时平均电流减去未安装时电流乘以电压 便是耗电功率。根据运行时电流以及电池容量可以推算出可运行时长。
电流该如何计算?
目前有两种方法
通过读取系统中的文件
根据stackoverflow的结果,不同手机获取电流值的位置是不同的
https://stackoverflow.com/questions/2439619/getting-the-battery-current-values-for-the-android-phone
实际测试中,发现在部分手机有10s以上的延迟,有的延迟还是动态的,实在是不怎么准。直接来看第二种方案。
通过电池电量百分比的下降速度结合电池的总容量计算出来(好是好,就是费时间)
首先需要知道电池总的电量S。可以通过百度,谷歌手机的品牌可以查到。
部分手机可以通过获取到
可以获取到当前电量的百分比。
电量从x%到y%的时候消耗的时间T。
那么,这个时间的平均电流I 为 S * (x-y)% / T。
下面用这种方法测试终结者2,手机(坚果Pro)
用echarts简单的做了一个图
如图所示,电量从96%下降到了89%,下降了7%所用时间24分钟。该电池总容量3496mAh
所以游戏平均电流为 3496*7%/(24/60) = 611mA。
持续打游戏应该可以玩的时间 3496/611 = 5.7h。能玩一下午哎。
游戏的画质默认的是均衡。
再来测试一次。
86% -> 80% 25分钟 3496*7%/(25/60) = 587mA。误差范围大约30mA。尚可接受。
第三次改成极高画质
76%-70% 18分钟 3496*6%/(18/60) = 699mA。比较符合预期,电流升高了。
考虑到时间问题,晚饭还没吃,就只测试一个游戏了。其中一把不小心吃了个鸡,嘿嘿。
领取专属 10元无门槛券
私享最新 技术干货