部分 Wake Lock 使用過度

部分 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 會將 audiolocationJobScheduler 使用者啟動的 API 建立的 Wake Lock,從 Wake Lock 計算中排除。

Android Vitals 的「部分 Wake Lock 停滯」資訊主頁會細分與應用程式相關聯的非豁免 Wake Lock 名稱,並顯示受影響的會話和時間長度。

如果應用程式在 28 天內,於所有裝置上造成過多的部分 Wake Lock,且發生次數超過 5% 的工作階段,可能會影響應用程式在 Google Play 的曝光度。