Uso excesivo de la red móvil en segundo plano

Cuando una app se conecta a la red móvil en segundo plano, la app activa la CPU y enciende la radio móvil. 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 de modo 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 tu app usa la red móvil de forma excesiva en segundo plano.

Android vitals considera excesivo el uso de la red en segundo plano cuando una app envía y recibe un total combinado de 50 MB por día mientras se ejecuta en segundo plano. En Play Console, puedes verificar el porcentaje de sesiones de batería que muestran este comportamiento.

La definición de sesión de batería depende de la versión de la plataforma.

  • En Android 10, una sesión de batería es la agregación de todos los informes de batería que se reciben en un período determinado de 24 horas. Un informe de batería hace referencia al intervalo entre dos cargas de batería, que puede ser desde menos del 20% hasta más del 80%, o desde cualquier nivel de carga hasta el 100%.
  • En Android 11, una sesión de batería es un período fijo de 24 horas.

Si deseas 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 proporciona una visualización del uso de la radio móvil por app, lo que puede ayudarte a obtener una idea más clara de lo que sucede con ella. Para obtener más información sobre Battery Historian, consulta Cómo analizar el uso de energía con Battery Historian. Al investigar el comportamiento de uso de la red móvil de la app, debes tener en cuenta la línea de uso de red móvil.

Si deseas obtener información para usar Battery Historian, consulta la Explicación de Batterystats y Battery Historian.

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

Puedes mover el uso de la red móvil de la app al primer plano, alertar al usuario sobre el hecho de que una descarga está en curso y proporcionarle controles a fin de pausar o detener esa descarga. Para hacerlo, llama a DownloadManager y establece setNotificationVisibility(int), según corresponda.