안정적인 전원 공급 장치에 대한 접근이 불확실할 수 있으며, 정전으로 인해 예정된 충전이 중단될 수 있습니다. 배터리 사용을 벤치마킹하고, wake lock을 피하고, 작업을 예약하고, 센서 요청을 모니터링하는 방식으로 사용자의 배터리가 불필요하게 소모되지 않도록 하세요.
배터리 소모 줄이기
앱이 필요할 때만 배터리 전력을 소모하고, 필요한 것보다 더 많은 전력을 소모하지 않도록 할 수 있는 몇 가지 단계가 있습니다.
- 앱이 백그라운드에서 작동 중이거나 기기가 배터리 전원에서 실행되는 경우 활동을 최소화해야 합니다.
- 센서(예: GPS 센서)는 배터리를 대량 소모시킬 수 있습니다. 문제를 예방하려면
FusedLocationProvider
API를 사용하여 기본 위치 기술을 관리합니다. 이 API는 단순하기 때문에 높은 수준으로 요구사항(높은 정확성이나 저전력 등)을 지정할 수 있습니다. 이 API는 또한 위치를 캐시하고 앱에서 요청을 일괄 처리하여 기기의 배터리 전력 사용을 최적화해 줍니다. 위치를 요청하는 이상적인 방법에 관한 자세한 내용은 마지막으로 알려진 위치 구하기 교육 가이드를 참고하세요. - wake lock이란 기기가 백그라운드 활동을 실행할 수 있도록 켜진 상태를 유지하는 메커니즘입니다. wake lock을 사용하면 기기가 저전력 상태로 진입하지 못하므로 이 기능의 사용을 피하세요.
- 기기 절전 모드 해제 횟수를 줄이려면 네트워크 활동을 일괄 처리합니다. 일괄 처리에 관한 자세한 내용은 Android 교육 과정에서 효율적 네트워크 액세스를 위해 다운로드 최적화를 참고하세요.
- WorkManager는 작업을 예약하고 시스템에서 일괄 작업을 할 수 있도록 합니다. 이렇게 하면 네트워크 연결 대기, 기기 충전 상태, 재시도, 백오프와 같은 공통 패턴의 구현이 크게 간소화됩니다. 기기가 충전 중이고 무제한 네트워크에 연결되어 있을 때 WorkManager를 사용하여 필수적이지 않은 백그라운드 활동을 실행합니다.
- 네트워크 활동이 어떻게 배터리를 소모할 수 있는지와 이 문제를 해결하는 방법에 관한 자세한 내용은 네트워크 배터리 소모 줄이기를 참고하세요.
배터리 사용 벤치마킹
통제된 환경에서 앱의 배터리 사용을 벤치마킹하면 앱에서 배터리 소모가 많은 작업을 파악할 수 있습니다. 앱의 배터리 사용을 벤치마킹하여 효율성을 측정하고 시간에 따른 변화를 추적하는 것이 좋습니다. Batterystats는 앱의 배터리 데이터를 수집하고 Battery Historian은 이 데이터를 HTML 시각화로 변환합니다.
배터리 사용량 절감에 관한 자세한 내용은 Android 교육 과정에서 배터리 수명 최적화를 참고하세요.
관련 항목

Article
연결 상태 및 연결 측정 모니터링
ConnectivityManager 는 이 API를 사용하면 애플리케이션이 기기 기능과 데이터 전송 옵션을 포함하는 다양한 조건을 충족해야 합니다. 콜백 구현은 기기에 다음에 관한 정보를 앱에 제공합니다. 현재 연결된 클러스터의 기능을 네트워크에 속합니다. API를 사용하면 기기가 현재 사용 중인지 확인할 수 네트워크에 연결되어 있어야 합니다. Wi-Fi 또는 셀룰러와 같은 네트워크의 전송 유형을 지정합니다. 인터넷과 같은 현재 연결된

Article
콘텐츠 제공자
콘텐츠 제공자는 구조화된 데이터 세트의 액세스를 관리합니다. 데이터를 캡슐화하고, 데이터 보안을 정의하는 데 필요한 메커니즘을 제공합니다. 콘텐츠 제공자는 한 프로세스의 데이터를 다른 프로세스에서 실행 중인 코드에 연결하는 표준 인터페이스입니다...