Android功耗值测量

原文:https://source.android.com/devices/tech/power/values

设备制造商必须提供组件功耗配置文件/frameworks/base/core/res/res/xml/power_profile.xml

要测定电源配置文件的值,请使用测量设备使用功耗的硬件,并执行所需信息的各种操作。测量这些操作期间的所用功耗并计算值(根据需要从其他基线所用功耗中获得差异)。

由于功耗曲线的目标是适当地估计电池消耗,因此功率曲线值以电流(安培)给出。Android Framework 将电流乘以子系统处于活动状态的时间并计算mAh值,然后用于估计应用程序/子系统耗尽的电池量。

具有运行Android 7.0及更高版本的蓝牙,modem和Wi-Fi控制器的设备可以提供从芯片组数据获得的额外功耗值。

具有异构CPU的设备

具有异构体系结构CPU核心的设备的电源配置文件必须包含以下附加字段:

  • 每个群集的CPU总数(以cpu.clusters.cores表示)。
  • 每个群集支持的CPU速度。
  • 每个群集的活动CPU功耗。

要区分群集的活动CPU功耗和支持的CPU速度,请将群集编号附加到阵列的名称中。群集编号按内核设备树中CPU核的顺序分配。例如,在具有两(2)个具有四(4)个核的集群的异构体系结构中:

  • cluster0由cpu0-3组成
  • cluster1由cpu4-7组成

Android Framework从sysfs文件/sys/devices/system/cpu/cpu<number>/cpufreq/stats中读取统计信息时需要用到这些CPU核编号。

集群CPU和速度的示例:

<array name="cpu.active.cluster0">
<value>200</value>
<value>300</value>
<value>400</value>
</array>
<array name="cpu.speeds.cluster0">
<value>600000</value>
<value>800000</value>
<value>1200000</value>
</array>

<array name="cpu.active.cluster1">
<value>400</value>
<value>500</value>
<value>600</value>
</array>
<array name="cpu.speeds.cluster1">
<value>800000</value>
<value>1200000</value>
<value>1400000</value>
</array>

功耗值

下表介绍了可用的功耗值设置。要查看AOSP中的示例文件,请参阅 power_profile.xml

名称 描述 示例值 备注
none 0 -
screen.on 屏幕以最小亮度打开时使用的额外功率。 200mA 含触控和显示背光。在0亮度,而不是Android最小值(接近10或20%)。
screen.full 与最小亮度的屏幕相比,屏幕处于最大亮度时使用的额外功率。 100mA-300mA 将该值的一小部分(基于屏幕亮度)被添加到screen.on值以计算屏幕的使用功耗。
wifi.on 打开Wi-Fi但未接收、传输或扫描时使用的额外功耗。 2mA -
wifi.active 使用Wi-Fi发送或接收时的额外功耗。 31mA -
wifi.scan 使用Wi-Fi扫描接入点时的额外功耗。 100mA -
dsp.audio 使用DSP进行音频解码/编码时的额外功率。 14.1mA 保留供将来使用。
dsp.video 使用DSP进行视频解码时的额外功率。 54mA 保留供将来使用。
camera.avg 使用经典相机应用的相机子系统的平均功耗。 600mA 运行预览的应用程序的粗略估计,每分钟捕获大约10个全分辨率图片。
camera.flashlight 打开相机闪光灯模块时的平均功耗。 200mA -
gps.on 使用GPS获取信号时的额外功耗。 50mA -
radio.active 使用蜂窝无线电发送/接收时的额外功耗。 100mA-300mA -
radio.scanning 使用蜂窝无线电寻呼塔时的额外功耗。 1.2mA -
radio.on 开启蜂窝无线电时的额外功率。多值输入,每个信号强度一个(无信号,弱,中等,强)。 1.2mA 一些无线电设备在搜索蜂窝塔并且没有检测到信号时会增加功率。值可以相同或随着信号强度的增加而减小。如果只提供一个值,则所有强度都使用相同的值。如果提供两个值,第一个用于无信号,第二个值用于所有其他强度,依此类推。
bluetooth.controller.idle 空闲时蓝牙控制器的平均电流消耗(mA)。 - 这些值不是估算的,而是取自控制器的数据表。如果存在多个接收或发送状态,则采用这些状态的平均值。此外,系统现在为 低能耗(LE)和蓝牙扫描收集数据。Android N及更高版本不再为bluetooth.active(通过蓝牙A2DP播放音频时使用)和bluetooth.on(蓝牙开启但空闲时使用)使用蓝牙功耗值。
bluetooth.controller.rx 接收时蓝牙控制器的平均电流消耗(mA)。 - -
bluetooth.controller.tx 发送时蓝牙控制器的平均电流消耗(mA)。 - -
bluetooth.controller.voltage 蓝牙控制器的平均工作电压(mV)。 - -
modem.controller.idle 空闲时modem控制器的平均电流消耗(mA)。 - 这些值不是估算的,而是取自控制器的数据表。如果存在多个接收或发送状态,则采用这些状态的平均值。
modem.controller.rx 接收时modem控制器的平均电流消耗(mA)。 - -
modem.controller.tx 发送时modem控制器的平均电流消耗(mA)。 - -
modem.controller.voltage modem控制器的平均工作电压(mV)。 - -
wifi.controller.idle 空闲时Wi-Fi控制器的平均电流消耗(mA)。 - 这些值不是估算的,而是取自控制器的数据表。如果存在多个接收或发送状态,则采用这些状态的平均值。
wifi.controller.rx 接收时Wi-Fi控制器的平均电流消耗(mA)。 - -
wifi.controller.tx 发送时Wi-Fi控制器的平均电流消耗(mA)。 - -
wifi.controller.voltage Wi-Fi控制器的平均工作电压(mV)。 - -
cpu.speeds 多值输入,以KHz列出每个可能的CPU速度。 125000KHz,250000KHz,500000KHz,1000000KHz,1500000KHz 条目的数量和顺序必须与cpu.active中的mA条目相对应。
cpu.idle 当CPU(和SoC)处于系统休眠状态时系统汲取的总功耗。 3mA -
cpu.awake CPU处于调度空闲状态时的额外功耗(内核空闲循环); 系统未处于系统休眠状态。 50mA 您的平台可能有多个闲置状态,使用不同的功耗水平; 为较长时间的调度程序空闲(几毫秒)选择代表性空闲状态。检查测量设备上的功率图并选择CPU处于最低功耗的样本,丢弃CPU退出空闲时的较高样本。
cpu.active CPU以不同速度运行时的额外功耗。 100mA,120mA,140mA,160mA,200mA 值表示以不同速度运行时CPU轨道使用的功耗。将内核中的最大速度设置为允许的每个速度,并以该速度将CPU固定。条目的数量和顺序对应于cpu.speeds中条目的数量和顺序。
cpu.clusters.cores 每个CPU群集包含的核数。 4,2 仅适用于具有异构CPU架构的设备。条目数和顺序应与cpu.active和cpu.speeds的集群条目数相匹配。第一个条目表示cluster0中的CPU核心数,第二个条目表示cluster1中的CPU核心数,依此类推。
电池容量 总电池容量,单位为mAh。 3000mAh的 -

低能耗(LE)和蓝牙扫描

对于运行Android 7.0的设备,系统会收集低能耗(LE)扫描和蓝牙网络流量(如RFCOMM和L2CAP)的数据,并将这些活动与启动应用程序相关联。蓝牙扫描与启动扫描的应用程序相关联,但批量扫描不是(与蓝牙应用程序相关联)。对于扫描N毫秒的应用程序,扫描的成本是n毫秒的rx时间和N毫秒的tx时间; 所有剩余控制器时间都分配给网络流量或蓝牙应用程序。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,776评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,527评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,361评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,430评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,511评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,544评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,561评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,315评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,763评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,070评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,235评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,911评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,554评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,173评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,424评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,106评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,103评论 2 352