測量功率值

裝置製造商必須在 /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 核心順序指派。舉例來說,在具有兩 (2) 個叢集和四 (4) 個核心的異質架構中:

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

Android 架構會在從 /sys/devices/system/cpu/cpu<number>/cpufreq/stats 中的 sysfs 檔案讀取統計資料時,使用這些 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>

功率值

下表說明可用的電源值設定。如何查看 請參閱 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 張全解析度相片
camera.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 有些無線電能在搜尋基地台時更強,但卻不會 偵測到信號時值可以維持不變,也可以隨著訊號強度增加而降低。如果只提供一個值,所有值都會採用相同的值 的優勢。如果您提供兩個值,第一個值用於無信號, 第二個值則用於所有其他優勢,以此類推。
bluetooth.controller.idle 藍牙控制器閒置時的平均電流消耗量 (mA)。 - 這些值並非估算值,而是取自控制器的資料表。如果有多個接收或傳輸狀態,系統會計算這些狀態的平均值。此外,系統現在會收集低功耗 (LE) 和藍牙掃描的資料。

Android 7.0 以上版本不再使用 bluetooth.active 的藍牙電源值 (用於透過藍牙 A2DP 播放音訊) 和 bluetooth.on (用於藍牙已開啟但處於閒置狀態)。
bluetooth.controller.rx 接收時藍牙控制器的平均電流消耗量 (mA)。 -
bluetooth.controller.tx 藍牙控制器在傳輸時的平均目前繪圖 (mA)。 -
bluetooth.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 項目的數量和順序必須與 cpu.active 中的 mA 項目相符。
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.speed 的叢集項目數量相符。第一個項目代表 第二個項目代表 cluster0 中的 CPU 核心數,第二個項目代表 cluster1 中的 CPU 核心等等。
Battery.capacity 總電池容量 (以 mAh 為單位)。 3,000 mAh -

低功耗 (LE) 和藍牙掃描

對於搭載 Android 7.0 的裝置,系統會收集低功耗 (LE) 掃描和藍牙網路流量 (例如 RFCOMM 和 L2CAP) 的資料,並將這些活動與啟動應用程式建立關聯。藍牙掃描會與啟動掃描的應用程式建立關聯,但批次掃描不會 (而是與藍牙應用程式建立關聯)。對於掃描 N 毫秒的應用程式,掃描的成本是 N 毫秒的接收時間和 N 毫秒的傳送時間;所有剩餘的控制器時間會指派給網路流量或藍牙應用程式。