불필요한 백그라운드 Wi-Fi 검색

앱이 백그라운드에서 Wi-Fi 검색을 실행하면 CPU의 절전 모드를 해제하여 배터리 소모율을 높입니다. 검색이 너무 많이 발생하면 기기의 배터리 수명이 현저하게 단축될 수 있습니다. 앱이 PROCESS_STATE_BACKGROUND 또는 PROCESS_STATE_CACHED 상태이면 백그라운드에서 실행 중인 것으로 간주됩니다.

이 문서에서는 앱이 백그라운드에서 너무 많은 Wi-Fi 검색을 실행하는 경우를 감지하는 방법을 설명하고 문제 진단 및 해결 방법에 관한 도움말을 제공합니다.

문제 감지

앱의 Wi-Fi 검색 횟수가 과도하게 많다는 것을 항상 알 수 있는 것은 아닙니다. 앱을 이미 게시했다면 Android vitals를 사용하여 문제를 파악한 후 해결할 수 있습니다.

Android vitals

Android vitals를 사용하면 앱이 백그라운드에서 불필요한 Wi-Fi 검색을 실행하는 경우 Play Console을 통해 알림을 받아 앱의 성능을 개선할 수 있습니다. 앱이 시간당 5회 이상의 검색을 실행하면 Android vitals에서는 불필요한 Wi-Fi 검색으로 간주합니다. Play Console에서는 이 동작을 보이는 배터리 세션의 비율을 확인할 수 있습니다.

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

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

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

Wi-Fi 검색 조사

Battery Historian과 같은 도구를 사용하면 앱의 검색 동작을 더 자세히 알아볼 수 있습니다. Battery Historian은 앱별로 Wi-Fi 검색 동작을 시각화하여 앱에서 발생하는 상황을 명확하게 파악하는 데 도움이 될 수 있습니다. Battery Historian에 관한 자세한 내용은 Battery Historian으로 전원 사용량 분석을 참고하세요.

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

검색 수 줄이기

가능한 경우 앱이 포그라운드에서 실행되는 동안 Wi-Fi 검색을 실행해야 합니다. 포그라운드 서비스는 자동으로 알림을 제공하므로 포그라운드에서 Wi-Fi 검색을 실행하면 사용자가 기기에서 Wi-Fi 검색이 발생하는 이유와 시기를 알 수 있습니다.

포그라운드에서 검색하는 방법에 관한 자세한 내용은 WifiManager 클래스의 문서를 참고하세요.

앱이 백그라운드에서 실행되는 동안 Wi-Fi 검색 실행을 방지할 수 없을 때 Lazy First 전략을 적용하면 도움이 될 수 있습니다. Lazy First에는 Wi-Fi 검색을 줄이는 데 사용할 수 있는 세 가지 기법(축소, 지연병합)이 포함됩니다. 이러한 기법에 관한 자세한 내용은 배터리 수명 최적화를 참고하세요.