裝置製造商必須在
/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 毫秒的傳輸時間所有剩餘控制器時間都會指派給 網路流量或藍牙應用程式。