정기 업데이트의 영향 최소화

정기 업데이트를 하는 최적의 빈도는 기기의 상태, 네트워크 연결, 사용자 동작 및 사용자가 명시한 환경설정에 따라 다릅니다.

배터리 수명 최적화에서는 호스트 기기의 상태에 따라 새로고침 빈도를 수정하여 배터리 효율이 높은 앱을 빌드하는 방법을 논의합니다. 여기에는 연결이 끊어졌을 때 백그라운드 서비스 업데이트를 중지하는 것과 배터리 수준이 낮을 때 업데이트 비율을 줄이는 것이 포함됩니다.

이 과정에서는 기반 무선 통신 상태 시스템에 미치는 백그라운드 업데이트의 영향을 가장 효과적으로 완화하기 위해 새로고침 빈도를 어떻게 변경할 수 있는지 살펴봅니다.

폴링의 대안으로 Firebase 클라우드 메시징 사용

앱이 서버를 폴링하여 업데이트가 필요한지 확인할 때마다 무선 통신이 활성화되며 일반적인 3G 연결에서는 최대 20초 동안 불필요한 전력 소모가 발생합니다.

Firebase 클라우드 메시징(FCM)은 서버에서 특정 앱 인스턴스로 데이터를 전송하는 데 사용되는 간단한 메커니즘입니다. FCM을 사용하면 서버는 특정 기기에서 실행 중인 앱에 사용 가능한 새 데이터가 있음을 알려줄 수 있습니다.

앱이 정기적으로 서버에 핑하여 새로운 데이터가 있는지 쿼리해야 하는 폴링과 비교하여 이 이벤트 기반 모델을 사용하면 앱이 다운로드할 데이터가 있는 것을 알았을 때만 새 연결을 생성하면 됩니다. 이 모델은 앱의 정보를 업데이트할 때 불필요한 연결을 최소화하고 지연 시간을 줄여줍니다.

FCM은 지속적인 TCP/IP 연결을 사용하여 구현합니다. 고유의 푸시 서비스를 구현할 수도 있지만 FCM을 사용하는 것이 가장 좋습니다. FCM을 사용하면 지속적인 연결 수를 최소화할 수 있고 플랫폼이 대역폭을 최적화하고 배터리 수명에 미치는 영향을 최소화할 수 있습니다.

네트워크 예약 도구

앱이 폴링을 해야 하는 경우 Android 플랫폼은 폴링 같은 네트워킹 작업을 완료하기 위한 효율적인 일정을 만드는 데 도움이 되는 몇 가지 도구를 제공합니다. 이러한 도구의 사용법을 자세히 알아보려면 백그라운드 처리 가이드를 참조하세요.