불필요한 백그라운드 모바일 네트워크 사용

앱이 백그라운드에서 모바일 네트워크에 연결하면 CPU의 절전 모드를 해제하고 무선 연결을 사용 설정합니다. 이 작업을 반복적으로 실행하면 기기의 배터리가 다 소모될 수 있습니다. 앱이 PROCESS_STATE_BACKGROUND 또는 PROCESS_STATE_CACHED 상태이면 백그라운드에서 실행 중인 것으로 간주됩니다.

이 페이지에서는 앱이 백그라운드에서 실행되는 동안 모바일 네트워크를 불필요하게 사용하는 원인을 파악하는 방법과 이와 관련하여 필요한 조치를 설명합니다.

문제 감지

앱이 백그라운드에서 실행되는 동안 네트워크를 과도하게 사용하고 있다는 것을 항상 알 수 있는 것은 아닙니다. 앱을 이미 게시했다면 Android vitals를 사용하여 문제를 파악한 후 해결할 수 있습니다.

Android vitals

Android vitals를 사용하면 앱이 백그라운드에서 모바일 네트워크를 과도하게 사용하는 경우 Play Console을 통해 알림을 받아 앱의 성능을 개선할 수 있습니다.

앱이 백그라운드에서 실행되는 동안 모두 합해 하루에 50MB를 보내고 받는 경우 Android vitals에서는 불필요한 백그라운드 네트워크 사용으로 간주합니다. Play Console에서는 이 동작을 보이는 배터리 세션의 비율을 확인할 수 있습니다.

배터리 세션의 정의는 플랫폼 버전에 따라 다릅니다.

  • Android 10에서 배터리 세션은 24시간 기간 동안 수신된 모든 배터리 보고의 집계입니다. Android 10에서 배터리 보고는 두 번의 배터리 충전(20% 이하에서 80% 이상으로의 충전 또는 배터리 잔량에 관계없이 100%로의 충전) 사이의 간격을 의미합니다.
  • Android 11에서 배터리 세션은 고정된 24시간 기간입니다.

Google Play에서 Android vitals 데이터를 수집하는 방법에 관한 자세한 내용은 Play Console 문서를 참고하세요.

모바일 네트워크 사용 동작 조사

Battery Historian과 같은 도구를 사용하면 앱의 모바일 네트워크 사용을 더 자세히 알아볼 수 있습니다. Battery Historian은 앱별로 모바일 무선 네트워크 사용을 시각화하여 보여주므로 앱에서 일어나는 상황을 더 명확하게 파악할 수 있습니다. Battery Historian에 관한 자세한 내용은 Battery Historian으로 전력 사용량 분석을 참고하세요. 앱의 모바일 네트워크 사용 동작을 조사할 때는 특히 모바일 네트워크 사용 부분에 유의해야 합니다.

Battery Historian 사용의 역학에 관한 자세한 내용은 Batterystats 및 Battery Historian 둘러보기를 참고하세요.

모바일 네트워크 사용 줄이기

앱의 모바일 네트워크 사용을 포그라운드로 이동하여 사용자에게 다운로드가 진행 중임을 알리고 다운로드를 일시중지하거나 중지할 수 있도록 제어 기능을 제공할 수 있습니다. 이렇게 하려면 DownloadManager를 호출하고 적절하게 setNotificationVisibility(int)를 설정하면 됩니다.