Android电量

  • Android工具
  • 统计和评测标准
  • 方法
  • 问题

Android电量概念

手机由众多“部件”组成,所谓“部件”是指:CPU,WIFI,GPS....所以,Android App消耗总电量为 App运行过程中,涉及各部件的消耗电量的总和。

假设运行App导致CPU运行,时间:t,CPU单位时间消耗电量:w,则App的CPU耗电量为:W = w*t,而有物理公式 W = U*I*t(U:电压值,I:电流值),在手机中,一般U恒定不变,所以,可以单独通过 Q(电容量,单位: mAh)= I * t 表示电量。

Android各部分耗电量

在Android手机中,手机每个组件,如CPU、显示屏、GPS、Audio、WiFi、Bluetooth等,运行时的能耗都保存在power_profile.xml文件中。所以我们可以通过读取power_profile.xml文件获取,获得各组件的能耗值

以小米4为例: system/framework/framework-res.apk 中的 power_profile.xml

<?xml version="1.0" encoding="utf-8"?>
<device name="Android">
    <item name="none">0</item>

    <!-- 亮屏状态下的耗电基数 -->
    <item name="screen.on">100</item>


    <!-- 蓝牙传输的耗电基数 -->
    <item name="bluetooth.active">142</item>

    <!-- 打开蓝牙设备后的耗电基数 -->
    <item name="bluetooth.on">0.3</item>

    <item name="bluetooth.at">0.01</item>

    <!-- 屏幕最高亮度的耗电基数 -->
    <item name="screen.full">160</item>

    <!-- wifi开启后的耗电基数 -->
    <item name="wifi.on">4</item>

    <!-- wifi数据传输的耗电基数 -->
    <item name="wifi.active">120</item>

    <!-- wifi扫描的耗电基数 -->
    <item name="wifi.scan">220</item>

    <item name="dsp.audio">88</item>

    <item name="dsp.video">88</item>

    <!-- 数据网络传输的耗电基数 -->
    <item name="radio.active">300</item>

    <!-- gps设备耗电基数 -->
    <item name="gps.on">170</item>

    <!-- 总电量 -->
    <item name="battery.capacity">1390</item>

    <!-- 驻网扫描的耗电基数 -->
    <item name="radio.scanning">70</item>

    <!-- 电话耗电 -->
    <array name="radio.on">
        <value>3</value>
        <value>3</value>
    </array>

    <!-- 
        cpu运行速率以及响应的耗电量
        idle    --- 2.8
        300000  --- 66.6
        2457600 --- 168.4
     -->
    <array name="cpu.speeds">
        <value>300000</value>
        <value>422400</value>
        <value>652800</value>
        <value>729600</value>
        <value>883200</value>
        <value>960000</value>
        <value>1036800</value>
        <value>1190400</value>
        <value>1267200</value>
        <value>1497600</value>
        <value>1574400</value>
        <value>1728000</value>
        <value>1958400</value>
        <value>2265600</value>
        <value>2457600</value>
    </array>
    <item name="cpu.idle">2.8</item>
    <array name="cpu.active">
        <value>66.6</value>
        <value>84</value>
        <value>90.8</value>
        <value>96</value>
        <value>105</value>
        <value>111.5</value>
        <value>117.3</value>
        <value>123.6</value>
        <value>134.5</value>
        <value>141.8</value>
        <value>148.5</value>
        <value>168.4</value>
        <value>168.4</value>
        <value>168.4</value>
        <value>168.4</value>
    </array>
</device>

APP 关注的几个关键指标:

  • screen.full 屏幕全亮状态下的耗电量
  • wifi.active wifi传输数据的耗电量
  • wifi.scan wifi扫描的耗电量
  • radio.active 数据网络传输数据的耗电量
  • gps.on gps定位的耗电量
  • cpu cpu不同运行频率的耗电量

以小米4的xml 配置为例:

wifi传输耗电量为120 而数据网络传输耗电量为300,是wifi的2.5倍

cpu高频计算的耗电量为168.4,不同频率下的耗电量也不同

wifi扫描耗电量为220 也是比较耗电的行为

总结

以下是众包一周的数据请求统计:Wifi请求占用了23.72% 数据流量(2G/3G/4G)76.28%

results matching ""

    No results matching ""