부분적인 wake lock은 시스템 시간 초과가 발생하거나 사용자가 전원 버튼을 눌러 기기의 화면이 꺼진 후에 개발자가 CPU를 계속 실행할 수 있게 하는 PowerManager
API의 메커니즘입니다. 앱이 PARTIAL_WAKE_LOCK
플래그를 사용하여 acquire()
를 호출하거나 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시간 동안 3시간 이상 실행되는 경우 부분적인 wake lock 사용을 과도함으로 보고합니다.
Android vitals는 앱이 백그라운드에 있고 포그라운드 서비스가 없는 경우 wake lock이 유지되는 경우에만 시간을 추적합니다.
Android vitals는 부분적인 wake lock의 명확한 사용자 이점이 있고 부분적인 wake lock 없이는 이 결과를 얻을 수 있는 더 나은 방법이 없는 시나리오에서 부분적인 wake lock 사용에 몇 가지 예외를 적용합니다. 이 경우 Android vitals에서 부분적인 wake lock 시간을 3시간 제한에 반영하지 않을 수 있습니다. 예를 들어 앱에서 사용자를 위해 오디오를 재생하는 경우 기기를 깨어 있게 유지하는 것이 분명한 이점이 있으며 기기를 깨어 있게 유지하지 않으면 오디오를 재생할 방법이 없습니다. 이 경우 부분적인 wake lock 시간은 Android vitals에 반영되지 않습니다.
28일 동안 모든 기기에서 앱 세션의 5% 이상에서 과도한 부분 웨이크락이 발생하면 측정항목이 베타 버전에서 출시되면 Play에서 앱의 공개 상태에 영향을 미칠 수 있습니다.
앱에 불필요한 부분적인 wake lock이 있다는 것을 알았다면 다음 단계는 문제를 해결하는 것입니다.
문제 해결
wake lock은 기기 배터리를 소모할 수 있으므로 대안이 있는 경우 wake lock을 사용해서는 안 됩니다. 기기를 깨어 있게 하는 적절한 API 선택 문서를 참고하면 앱에 가장 적합한 솔루션을 찾을 수 있습니다.
wake lock을 사용해야 하는 경우 wake lock 권장사항을 준수하여 wake lock이 기기 효율성을 저해하지 않도록 하세요. 특히 획득한 모든 기기가 해제되었는지 확인하고 최대한 빨리 잠금을 해제하세요.
코드의 문제를 해결한 후 로컬 wake lock 디버깅 도구를 사용하여 수정사항을 확인할 수 있습니다.
참고 항목
추천 서비스
- 참고: JavaScript가 사용 중지되어 있으면 링크 텍스트가 표시됩니다.
- 정지된 프레임
- 지속적 통합에서 벤치마크 실행
- Macrobenchmark 없이 기준 프로필 생성 및 측정