測量功率值

裝置製造商必須在 /frameworks/base/core/res/res/xml/power_profile.xml

如要判斷電源設定檔的值,請使用測量功率的硬體 執行多項操作, 所需資訊評估這些作業與運算期間的電力用量 指定適當的值 (視情況從其他基準耗電量計算差異)。

電源設定檔的目標是正確預估電池耗電量 電源設定檔值以目前的值表示 (amp 值)。Android 架構 將目前子系統啟用的時間相乘 計算 mAh 值,然後用於估算電池電量 或子系統排出消耗的流量

配備藍牙、數據機和 Wi-Fi 控制器的裝置,搭載 Android 7.0 與 因此可提供從晶片組資料取得的額外功率值。

搭載異質 CPU 的裝置

CPU 核心為異質架構的裝置的功率設定檔 必須包含下列額外欄位:

  • 每個叢集的 CPU 總數 (以 cpu.clusters.cores 表示)。
  • 每個叢集支援的 CPU 速度。
  • 每個叢集的活躍 CPU 耗電量。

區分使用中的 CPU 耗電量和支援的 CPU 速度,請在陣列名稱後方附加叢集編號。叢集 數字會依照核心裝置樹狀結構中的 CPU 核心順序指派。適用對象 例如,在異質架構中,有兩個叢集含有四個 (4) 叢集 核心數:

  • cluster0 包含 cpu0-3
  • cluster1 包含 cpu4-7

Android 架構在讀取統計資料時會使用這些 CPU 核心數 請參照下列位置的 sysfs 檔案: /sys/devices/system/cpu/cpu<number>/cpufreq/stats

叢集 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>

功率值

下表說明可用的電源值設定。如何查看 請參閱 Android 開放原始碼計畫的範例檔案,請參閱 power_profile.xml

名稱 說明 範例值 附註
環境開啟 螢幕處於打盹/微光/持續待機模式 (而非關閉) 時的額外電力。 約 100 mA -
screen.on 以最低亮度開啟螢幕時的額外電力。 200 mA 包括觸控式控制器和螢幕背光,亮度為 0 時,而非 Android 最小值 (10 或 20%)。
screen.full 螢幕在最大亮度時耗用的額外電力 (相較於 將螢幕調到最低亮度 100 mA-300 mA 這個值有一部分 (根據螢幕亮度) 會 screen.on 值來計算螢幕的耗電量。
wifi.on Wi-Fi 開啟但未接收時耗用的額外電力。 傳輸或掃描方法 2 mA -
wifi.active 透過 Wi-Fi 傳輸或接收時耗用的額外電力。 31 mA -
wifi.scan 當 Wi-Fi 掃描存取點時,系統會使用額外電力。 100 mA -
音訊內容 透過 DSP 進行音訊解碼/編碼時,所使用的額外電力。 約 10 mA 用於 DSP 音訊。
影片 透過 DSP 將影片解碼時耗用的額外電力。 約 50 mA 用於需求端平台影片。
平均相機平均值 一般相機子系統的平均耗電量 應用程式。 600 mA 可為執行預覽的應用程式粗略估計 每分鐘大約拍攝 10 張全解析度相片
相機.flashlight 相機閃光燈模組開啟時的平均耗電量。 200 mA -
gps.signalquality GPS 根據訊號強度使用的額外電力。這是多重值項目 每種信號強度最多一個,從最弱到最高 30 mA、10 mA -
gps.on GPS 接收訊號時的額外電力。 50 mA -
Radio.active 行動網路無線電傳輸/接收時耗用的額外電力。 100 mA-300 mA -
Radio.scanning 手機無線電正在傳射基座數據時耗用的額外電力。 1.2 mA -
Radio.on 行動網路無線電開啟時耗用的額外電力。這是多重值項目 每種訊號強度一個強度 (無訊號、弱、中、強度)。 1.2 mA 有些無線電能在搜尋基地台時更強,但卻不會 偵測到信號時信號數量增加時,可以維持不變或降低 強度。如果只提供一個值,所有值都會採用相同的值 的優勢。如果您提供兩個值,第一個值用於無信號, 第二個值則用於所有其他優勢,以此類推。
Bluetoothtooth.controller.idle 藍牙控制器閒置時的平均目前繪製 (mA) 內容。 - 這些值並非預估的,而是擷取自 開始設定。如果有多個接收或傳送狀態,則平均值 狀態就會是 1.3 倍此外,系統現在會收集 低功耗 (LE) 和藍牙掃描

Android 7.0 以上版本不再使用 Bluetoothtooth.active 的藍牙功率值 (透過藍牙 A2DP 播放音訊時使用) 和 Bluetoothtooth.on (用於 藍牙已開啟但閒置中)。
Bluetoothtooth.controller.rx 接收的藍牙控制器時,目前的平均繪圖 (mA)。 -
Bluetoothtooth.controller.tx 藍牙控制器在傳輸時的平均目前繪圖 (mA)。 -
Bluetoothtooth.controller.voltage 藍牙控制器的平均運作電壓 (mV)。 -
modem.controller.sleep 睡眠時數據機控制器的平均目前繪圖 (mA)。 0 mA 這些值不是預估值,而是擷取自控制器的規格書。 如果有多個接收狀態,系統會採用這些狀態的平均值。如果有 多個傳輸狀態,支援指定每個傳輸狀態的值 。
modem.controller.idle 數據機控制器處於閒置狀態時的平均目前繪製 (mA) 比例。 -
modem.controller.rx 數據機控制器收到時的平均目前繪圖 (mA)。 -
modem.controller.tx 以不同 RF 功率傳輸時,數據機控制器的平均目前繪圖 (mA) 級別。這是多重值項目,每個傳輸功率等級都有一個值。 100 mA、200 mA、300 mA、400 mA、500 mA
modem.controller.voltage 數據機控制器的平均運作電壓 (mV)。 -
wifi.controller.idle Wi-Fi 控制器處於閒置狀態時的平均目前抽取率 (mA)。 - 這些值並非預估的,而是擷取自 開始設定。如果有多個接收或傳送狀態,則平均值 狀態就會是 1.3 倍
wifi.controller.rx Wi-Fi 控制器收到時的目前抽取量 (mA)。 -
wifi.controller.tx Wi-Fi 控制器在傳輸時的目前繪圖 (mA)。 -
wifi.controller.voltage Wi-Fi 控制器的平均運作電壓 (mV)。 -
CPU 速度 這是多重值項目,會列出每種可能的 CPU 速度 (以 KHz 為單位)。 125000 KHz、250000 KHz、500000 KHz、1000000 KHz、1500000 KHz 項目的數量和順序必須與以下項目的 mA 項目相符: cpu.active。
Cpu.idle 在系統中使用 CPU (和 SoC) 時,系統消耗的總電力 以及暫停狀態 3 mA -
cpu.awake CPU 安排閒置狀態時耗用的額外電力 (核心閒置迴圈);系統未處於暫停狀態 50 mA 平台可能有多個閒置狀態,但狀態不同 耗電量;選擇更長的代表性閒置狀態 排程器閒置期間 (幾毫秒)。查看 並選擇 CPU 用量最低的樣本 捨棄的樣本數較多
cpu.active 以不同速度執行時,CPU 耗用的額外電力。 100 mA、120 mA、140 mA、160 mA、200 mA 值代表 CPU 邊欄在不同位置執行時的功率 速度。將核心中的最高速度設為每個允許的速度和掛鉤 都是以那個速度的 CPU項目的數量和順序會與 以 cpu.speeds 表示項目的數量和順序
cpu.clusters.cores 每個 CPU 叢集包含的核心數量。 4、2 只有搭載異質 CPU 的裝置需要 架構項目數量和順序必須與 cpu.active 和 cpu.speeds 的叢集項目。第一個項目代表 第二個項目代表 cluster0 中的 CPU 核心數,第二個項目代表 cluster1 中的 CPU 核心等等。
Battery.capacity 總電池容量 (以 mAh 為單位)。 3,000 mAh -

低功耗 (LE) 和藍牙掃描

對於搭載 Android 7.0 的裝置,系統會收集低功耗 (LE) 資料 掃描藍牙網路流量 (例如 RFCOMM 和 L2CAP) 並建立關聯 透過啟動應用程式進行上述活動藍牙掃描功能已建立關聯 啟動掃描作業的應用程式,但批次掃描並未執行 (且 改為與藍牙應用程式建立關聯)。使用應用程式 掃描 N 毫秒,掃描費用為 N 毫秒的 rx 時間 和 N 毫秒的傳輸時間所有剩餘控制器時間都會指派給 網路流量或藍牙應用程式。