El tráfico de red iniciado por tu app puede optimizarse significativamente, ya que puedes planificar los recursos de red que necesita y establecer un programa de acceso a ellos. Si planificas con cuidado, puedes crear períodos de descanso significativos para la radio del dispositivo a fin de ahorrar batería. Hay varias API de Android que pueden ayudarte con la programación de acceso de red. Algunas de estas incluso pueden coordinar el acceso a la red de otras apps, lo que optimiza aún más el rendimiento de la batería.
En esta lección, se explica cómo reducir el consumo de batería con técnicas de optimización del tráfico de red iniciado por la app.
Solicitudes de red por lotes y programación
En un dispositivo móvil, el proceso de activar la radio, establecer conexión y mantener la radio activa consume mucha batería. Por lo tanto, el procesamiento de solicitudes individuales en momentos aleatorios puede además reducir su duración. Para optimizar este proceso, puedes poner en cola una serie de solicitudes de red y procesarlas juntas. De esta manera, el sistema puede soportar el costo de batería de activar la radio una vez y, al mismo tiempo, recibir todos los datos que solicita una app.
El uso de una API de programador de acceso a la red para poner en cola y procesar las solicitudes de datos de tu app puede aumentar de manera significativa la eficacia de su consumo de batería. Los programadores conservan batería porque agrupan las solicitudes para que el sistema las procese. Por otro lado, pueden mejorar aún más la eficiencia al retrasar algunas solicitudes hasta que otras activen la radio móvil, o bien al esperar hasta que el dispositivo se esté cargando. Los programadores difieren y agrupan las solicitudes de red en todo el sistema y la totalidad de las apps del dispositivo, por lo que superan a las apps individuales en cuanto a optimización.
Permite que el sistema verifique la conectividad
Una de las causas más inesperadas y graves del agotamiento de la batería se produce cuando el usuario viaja lejos de cualquier torre o punto de acceso de telefonía móvil, ya que aunque no suele usar el dispositivo, nota que este levanta temperatura y, luego, ve que la batería está baja o agotada.
En esas situaciones, el problema es que una app está ejecutando un proceso en segundo plano que sigue activando la radio móvil en intervalos regulares para buscar señal móvil, aunque no la encuentra. La búsqueda de señal celular es una de las operaciones que más batería consumen.
Para evitarles este problema a los usuarios de tu app, usa un método que busque conectividad sin consumir demasiada batería. En el caso de las solicitudes de red iniciadas por la app, programa un proceso con WorkManager que esté restringido a ejecutarse solo cuando haya una red disponible.