Uso excesivo de la red móvil en segundo plano

Cuando una app se conecta a la red móvil en segundo plano, activa la CPU y enciende la radio. Si se realiza de forma repetida, se puede agotar la batería del dispositivo. Se considera que una app se ejecuta en segundo plano si tiene el estado PROCESS_STATE_BACKGROUND o PROCESS_STATE_CACHED.

En esta página, se explica por qué tu app usa la red móvil de forma excesiva mientras se ejecuta en segundo plano y qué debes hacer al respecto.

Cómo detectar el problema

Quizás no siempre estés al tanto de que tu app hace un uso excesivo de la red mientras se ejecuta en segundo plano. Si ya la publicaste, Android vitals puede ayudarte a que te enteres del problema para que puedas corregirlo.

Android vitals

Android vitals puede ayudarte a mejorar el rendimiento de tu app. Para ello, te envía alertas a través de Play Console cuando realiza demasiadas búsquedas de Wi-Fi en segundo plano. Android vitals considera que el uso de la red en segundo plano es excesivo cuando una app envía y recibe un total combinado de 50 MB por hora mientras se ejecuta en segundo plano en el 0.10% de las sesiones de batería.

Una sesión de batería es el intervalo entre dos cargas de batería completa. Para obtener información sobre cómo Google Play recopila datos de Android vitals, consulta la documentación de Play Console.

Cómo investigar el comportamiento de uso de la red móvil

Algunas herramientas, como Battery Historian, pueden ayudarte a obtener estadísticas más detalladas sobre el uso de la red móvil de tu app. Battery Historian te permite visualizar el uso de la radio móvil por app. De esta forma, podrás obtener un panorama más claro de la actividad de tu app. Para obtener más información sobre Battery Historian, consulta Cómo analizar el uso de la energía con Battery Historian. Al investigar el comportamiento de uso de la red móvil de tu app, debes tener en cuenta la línea de uso de red móvil.

Para obtener información sobre cómo usar Battery Historian, consulta la Explicación de Batterystats y Battery Historian.

Cómo reducir el uso de la red móvil

El uso de la red móvil se puede producir por las sincronizaciones que realiza la app. Para obtener información sobre cómo reducir las sincronizaciones y el uso de la red, consulta Sincronizaciones en segundo plano excesivas.

Además, puedes pasar el uso de la red móvil de tu app a primer plano a fin de avisarle al usuario que hay una descarga en curso y darle controles para pausar o parar la descarga. Para ello, llama a DownloadManager y configura setNotificationVisibility(int) según corresponda.