부분적인 wake lock은 시스템 시간 초과가 발생하거나 사용자가 전원 버튼을 눌러 기기의 화면이 꺼진 후에 개발자가 CPU를 계속 실행할 수 있게 하는 PowerManager API의 메커니즘입니다. 부분 wake lock을 과도하게 사용하면 기기가 저전력 상태로 전환되지 않으므로 기기의 배터리가 소모됩니다.
문제 감지
Android vitals
Android vitals를 사용하면 앱의 부분적인 장기간 wake lock 사용이 과도한 경우 Play Console을 통해 알림을 보냄으로써 앱의 성능을 개선할 수 있습니다.
Android vitals는 24시간 동안 합산된 모든 부분적인 wake lock이 2시간 이상 실행되는 경우 부분적인 wake lock 사용을 과도한 사용으로 보고합니다. Android vitals는 앱이 백그라운드에 있거나 포그라운드 서비스를 실행할 때 wake lock이 유지되는 경우에만 wake lock 기간을 추적합니다. 현재 Android vitals에서는 오디오, 위치, JobScheduler 사용자 시작 API로 생성된 wake lock을 wake lock 계산에서 제외합니다.
Android vitals 과도한 부분 wake lock 대시보드에는 앱과 연결된 예외가 적용되지 않는 wake lock 이름의 분석이 표시되며, 영향을 받는 세션과 기간이 표시됩니다.
28일 동안 모든 기기에서 앱 세션의 5% 를 초과하는 과도한 부분 wake lock이 발생하면 Play에서 앱의 공개 상태에 영향을 미칠 수 있습니다.