部分 Wake Lock 是 PowerManager API 中的一項機制,可以讓開發人員在關閉裝置螢幕 (無論是因為系統逾時還是因為使用者按下電源鍵) 之後繼續運行 CPU。過度使用部分 Wake Lock 會阻止裝置進入低耗電狀態,因此會快速消耗裝置電量。
偵測問題
Android Vitals
當應用程式過度使用部分 Wake Lock 時,Android Vitals 會透過 Play 管理中心發出提醒,藉此改善應用程式效能。
如果所有部分 Wake Lock 的總執行時間在 24 小時內達到 2 小時以上,Android Vitals 就會將部分 Wake Lock 用量回報為過多。只有在應用程式處於背景或執行前景服務時,Android Vitals 才會追蹤 Wake Lock 持續時間。目前,Android Vitals 會將 audio、location 和 JobScheduler 使用者啟動的 API 建立的 Wake Lock,從 Wake Lock 計算中排除。
Android Vitals 的「部分 Wake Lock 停滯」資訊主頁會細分與應用程式相關聯的非豁免 Wake Lock 名稱,並顯示受影響的會話和時間長度。
如果應用程式在 28 天內,於所有裝置上造成過多的部分 Wake Lock,且發生次數超過 5% 的工作階段,可能會影響應用程式在 Google Play 的曝光度。