Android Vitals의 Wake Lock 지표를 ... 노트

Android Vitals의 Wake Lock 지표를 사용하여 앱 배터리 사용량 최적화하기

"배터리 수명은 사용자 경험에 매우 중요하며, 웨이크락은 배터리 수명에 상당한 영향을 미칩니다. 과도한 부분 웨이크락 사용은 이제 Google Play Console의 Android Vitals에서 핵심 성능 지표가 되었습니다. 이 지표는 24시간 동안 면제되지 않는 웨이크락을 2시간 이상 유지하는 앱을 플래그 지정하며, 이는 28일 동안 세션의 5% 이상에 영향을 미칩니다. 오디오, 위치 및 JobScheduler에서 시작된 API는 이 계산에서 면제됩니다.웨이크락을 사용하면 앱이 사용하지 않을 때에도 기기의 CPU를 계속 실행할 수 있습니다. 부분 웨이크락은 화면이 꺼져 있어도 CPU를 활성화 상태로 유지하여 저전력 상태를 방지합니다. 웨이크락을 부적절하거나 과도하게 사용하면 배터리가 심각하게 소모되고 사용자 불만이 발생합니다. 수동으로 부분 웨이크락을 얻기 전에 "화면 켜짐 유지" 문서 또는 기존 API와 같은 대안을 고려하십시오.웨이크락을 수동으로 얻을 때는 개인 식별 정보나 동적 요소 없이 설명적이고 하드코딩된 문자열 이름을 사용하십시오. 배터리 소모를 방지하기 위해 try-finally 블록 또는 타임아웃을 사용하여 획득한 웨이크락을 항상 해제하는 것이 중요합니다. WorkManager, SensorManager 배치 또는 Fused Location Provider 사용 최적화와 같은 방법을 통해 웨이크업 빈도를 줄이는 것도 배터리를 절약할 수 있습니다.과도한 웨이크락 디버깅은 웨이크락 이름과 영향을 받는 세션을 분류하는 Play Console에서 시작됩니다. 워커가 보유한 웨이크락의 경우 Android Studio의 백그라운드 작업 검사기 또는 WorkInfo.getStopReason()을 사용하여 현장에서 디버깅하십시오. 다른 웨이크락 유형의 경우 명령줄 도구, Android Studio 프로파일러 또는 Perfetto UI를 사용한 시스템 추적 수집을 권장합니다. "power:PowerManagement" Atrace 범주를 활성화하면 시스템 추적에서 관련 데이터를 보는 데 필수적입니다.Perfetto UI를 사용하면 타임라인에서 웨이크락 슬라이스를 시각적으로 검사할 수 있으며, SQL 분석을 통해 여러 추적에서 과도한 사용의 주요 기여자를 효율적으로 식별할 수 있습니다. 재현하기 어려운 문제의 경우 ProfilingManager(SDK 35+)를 사용하면 현장에서 시스템 추적 수집을 프로그래밍 방식으로 제어할 수 있습니다. 웨이크락을 올바르게 이해하고 구현하며, 모범 사례를 준수하고, 디버깅 도구를 활용하는 것이 앱 배터리 성능을 최적화하는 데 중요합니다."