首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过电池电量评测安卓 App 的耗电水平

背景

最近比较喜欢玩手机上的吃鸡游戏,不过玩着玩着手机经常性的发热,耗电也快的飞起。但是如何描述耗电的水平是个比较头疼的问题。

目前测试耗电的方案也比较多.

电流仪:这个需要拆手机

穷团队测试耗电量出路(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。比较符合预期,电流升高了。

考虑到时间问题,晚饭还没吃,就只测试一个游戏了。其中一把不小心吃了个鸡,嘿嘿。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171213G035KN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券