Android 電源設定檔

電池用量資訊是根據電池用量統計資料和電源設定檔值計算而得。

電池用量統計資料

架構會追蹤裝置元件處於不同狀態的時間長度,自動判斷電池用量統計資料。當元件 (Wi-Fi 晶片組、行動無線電、藍牙、GPS、螢幕、CPU) 變更狀態 (關閉/開啟、閒置/全速運作、低/高亮度等) 時,控制服務會向架構 BatteryStats 服務回報。BatteryStats 會收集一段時間內的資訊,並儲存這些資訊,以便在重新啟動後使用。這項服務不會直接追蹤電池電流消耗,而是收集時間資訊,用於估算不同元件的電池耗電量。

架構會使用下列方法收集統計資料:

  • 推送。瞭解元件變更的服務會將狀態變更推送至 BatteryStats 服務。
  • 。對於應用程式 CPU 使用率等元件,架構會在轉換點 (例如啟動或停止活動) 自動提取資料,以擷取快照。

資源用量與使用資源的應用程式相關聯。如果多個應用程式同時使用資源 (例如防止系統暫停的喚醒鎖定),架構會將耗用量分配給這些應用程式,但不一定會平均分配。

為避免遺失關機事件的使用統計資料 (可能表示電池耗電問題,也就是電池容量歸零而關機),架構會大約每 30 分鐘閃爍一次統計資料。

電池使用統計資料完全由架構處理,不需要 OEM 修改。

電源設定檔值

注意:裝置製造商必須提供元件耗電量設定檔,定義元件的耗電量值,以及元件隨時間造成的電池耗電量估計值。這個設定檔定義於 platform/frameworks/base/core/res/res/xml/power_profile.xml。 如需這些設定的相關指引,請參閱「電源值」。

在電源設定檔中,耗電量是以額定電壓下的電流汲取量 (毫安培,mA) 表示,也可以是微安培 (uA) 的分數值。這個值應為電池消耗的 mA,而非適用於與電池消耗電流不相應的供電軌的值。

舉例來說,螢幕電源設定檔會指定讓螢幕保持開啟狀態所需的電流 (以毫安培為單位),包括最低和最高亮度。如要判斷螢幕保持開啟狀態的耗電量 (即螢幕元件耗用的電量),架構會追蹤每個亮度等級的耗用時間,然後將這些時間間隔乘以插補的螢幕亮度耗電量。

架構也會將每個應用程式的 CPU 時間,乘以以特定速度執行 CPU 所需的毫安培數。這項計算會建立比較排名,顯示應用程式執行 CPU 程式碼時耗用的電量 (前台應用程式的時間和總時間,包括背景活動,會分別回報)。