勵志

勵志人生知識庫

doze模式

Doze模式,官方翻譯為低電耗模式,是Android 6.0(API級別23)引入的一項系統服務,旨在最佳化電池性能並增加電池續航時間。當用戶長時間未使用設備時,系統會延遲套用的後台CPU和網路活動,從而降低耗電量。Doze模式分為兩種狀態:

深度Doze模式(Deep Doze):設備螢幕關閉且處於靜止狀態時進入此模式。

輕度Doze模式(Light Doze):設備螢幕關閉但仍處於移動狀態時進入此模式。

在Doze模式下,系統會定期進入維護時段,在此期間,套用可以完成待進行的活動,如網路訪問和作業執行。然後,設備重新進入休眠狀態,接著進入下一個維護時段。隨著時間的推移,系統安排維護期的次數越來越少,以降低長期不活動狀態下的耗電量。

Doze模式通過DeviceIdleController(DIC)來實現,這是一個繼承於SystemService的系統服務。DIC的啟動流程涉及在SystemServer中實例化並啟動,執行生命周期方法,如Constructor()->onStart()->onBootPhase()。

在Doze模式下,套用會受到一些限制,包括:

暫停訪問網路

系統忽略喚醒鎖定

系統不執行WLAN掃描

不允許運行同步適配器

不允許運行JobScheduler

為了測試和調試Doze模式,可以使用adb shell dumpsys deviceidle命令強制系統進入Doze模式,以及使用adb shell dumpsys batteryreset命令重新激活設備。

此外,Doze模式與其他省電功能如套用待機模式(App Standby)協同工作,共同幫助用戶延長電池壽命。