부분적인 wake lock은 시스템 시간 초과가 발생하거나 사용자가 전원 버튼을 눌러 기기의 화면이 꺼진 후에 개발자가 CPU를 계속 실행할 수 있게 하는 PowerManager
API의 메커니즘입니다. 앱이 acquire()
를 PARTIAL_WAKE_LOCK
플래그와 함께 호출하거나 wake lock을 획득하는 다른 API를 사용하여 부분적인 wake lock을 획득합니다.
부분 wake lock을 과도하게 사용하면 기기가 저전력 상태로 전환되지 않으므로 기기의 배터리가 소모됩니다. 부분적인 wake lock은 필요할 때만 사용하고 더 이상 필요하지 않을 때 즉시 해제해야 합니다.
앱에서 부분적인 장기간 wake lock을 과도하게 사용하는 경우 이 페이지의 안내를 사용하여 문제를 진단하고 해결할 수 있습니다.
보내주시는 의견은 문서를 개선하는 데 있어 매우 중요합니다. 다음 링크를 사용하여 의견을 보내주세요.
문제 감지
Android vitals를 사용하면 앱의 부분적인 장기간 wake lock 사용이 과도한 경우를 확인할 수 있습니다.
Android vitals
Android vitals를 사용하면 앱의 부분적인 장기간 wake lock 사용이 과도한 경우 Play Console을 통해 알림을 보냄으로써 앱의 성능을 개선할 수 있습니다.
Android vitals는 합산된 모든 부분적인 wake lock이 24시간 동안 2시간 이상 실행되는 경우 부분적인 wake lock 사용을 과도한 사용으로 보고합니다. Android vitals는 앱이 백그라운드에 있거나 포그라운드 서비스를 실행할 때 wake lock이 유지되는 경우에만 wake lock 기간을 추적합니다. 현재 Android vitals는 오디오, 위치, JobScheduler 사용자 시작 API로 생성된 절전 모드 해제 잠금을 절전 모드 해제 잠금 계산에서 제외합니다.
Android vitals 과도한 부분 wake lock 대시보드에는 앱과 연결된 예외가 적용되지 않는 wake lock 이름의 분석이 표시되어 영향을 받는 세션과 기간을 확인할 수 있습니다.
28일 동안 모든 기기에서 앱 세션의 5% 이상에서 과도한 부분 절전 모드가 발생하면 측정항목이 베타에서 벗어난 후 Play에서 앱의 공개 상태에 영향을 미칠 수 있습니다.
앱에 불필요한 부분적인 wake lock이 있다는 것을 알았다면 다음 단계는 문제를 해결하는 것입니다.
문제 해결
wake lock은 기기 배터리를 소모할 수 있으므로 대체 방법이 있는 경우 wake lock을 사용하지 않는 것이 좋습니다. 기기를 절전 모드로 전환하지 않도록 적절한 API 선택 문서를 참고하면 앱에 가장 적합한 솔루션을 찾을 수 있습니다.
wake lock을 사용해야 하는 경우 wake lock 권장사항을 따라 wake lock이 기기 효율성을 저해하지 않도록 하세요. 특히 획득한 모든 기기가 해제되었는지 확인하고 최대한 빨리 잠금을 해제하세요.
명시적으로 wake lock을 획득하지 않더라도 앱에서 wake lock을 사용할 수 있습니다. 알 수 없는 앱에 기인한 절전 모드 해제 잠금이 표시되는 경우 다른 API에서 생성된 절전 모드 해제 잠금 식별을 사용하면 절전 모드 해제 잠금을 생성했을 수 있는 API를 식별할 수 있습니다.
코드의 문제를 해결한 후 로컬 wake lock 디버깅 도구를 사용하여 수정사항을 확인할 수 있습니다.
참고 항목
추천 서비스
- 참고: JavaScript가 사용 중지되어 있으면 링크 텍스트가 표시됩니다.
- 정지된 프레임
- 지속적 통합에서 벤치마크 실행
- Macrobenchmark 없이 기준 프로필 생성 및 측정