Optimiza el consumo de batería de tu app

La duración de batería es el aspecto más importante de la experiencia del usuario en dispositivos móviles. Un dispositivo sin batería no ofrece ninguna funcionalidad. Por esta razón, es sumamente importante que las apps respeten este aspecto tanto como puedan.

Hay tres conceptos importantes que debes tener en cuenta para que tu app consuma poca batería:

  • Crea apps de inicialización retrasada.
  • Aprovecha las funciones de la plataforma, ya que que pueden ayudarte a administrar el consumo de batería de tu app.
  • Usa herramientas que te permitan identificar las causas del consumo de batería.

Inicialización retrasada

Si tu app es de "inicialización retrasada", significa que buscará maneras de reducir y optimizar las operaciones que tienen mayor consumo de batería. Las principales preguntas en torno a este método son las siguientes:

  • Reducir: ¿Hay operaciones redundantes que tu app puede quitar? Por ejemplo, ¿puede almacenar en caché los datos descargados, en lugar de activar repetidamente la radio para volver a descargarlos?
  • Diferir: ¿La app necesita realizar una acción de inmediato? Por ejemplo, ¿puede esperar a que el dispositivo se esté cargando para crear una copia de seguridad de los datos en la nube?
  • Fusionar: ¿Se pueden agrupar las tareas, en lugar de poner el dispositivo en estado activo varias veces? Por ejemplo, ¿es realmente necesario que varias decenas de apps activen la radio en diferentes horarios para enviar sus mensajes? ¿Podrían, en cambio, transmitirse los mensajes durante una única activación de la radio?

Debes formularte estas preguntas cuando evalúes el uso de CPU, radio y pantalla. El diseño de inicialización retrasada es, con frecuencia, una forma eficiente de administrar los procesos que consumen tanta batería.

Para ayudarte con estos y otros métodos de ahorro de batería, la plataforma de Android te brinda varias funciones.

Funciones de la plataforma

En términos generales, la plataforma de Android ofrece dos categorías que te ayudarán a optimizar el uso de batería de tu app. En primer lugar, cuenta con varias API que puedes implementar. Obtén más información al respecto en la Programación inteligente de tareas.

También hay mecanismos internos en la plataforma que te ayudarán a ahorrar batería. Si bien no son API que se implementan de manera programática, deberías conocerlos para que tu app pueda aplicarlos correctamente. Para obtener más información, consulta lo siguiente:

Además, Android 9 (API nivel 28) incluye una serie de mejoras para el modo Ahorro de batería. Los fabricantes de dispositivos determinan las restricciones precisas que se imponen. Por ejemplo, en las compilaciones de AOSP, el sistema aplica las siguientes restricciones:

  • El sistema activa el modo App Standby en las apps de manera más agresiva, en lugar de esperar a que estén inactivas.
  • Los límites de ejecución en segundo plano se aplican a todas las apps, independientemente de su nivel objetivo de API.
  • Los servicios de ubicación pueden inhabilitarse cuando la pantalla está apagada.
  • Las apps que se ejecutan en segundo plano no tienen acceso a la red.

Consulta todos los detalles sobre las optimizaciones específicas para la batería en Administración de restricciones de batería.

Como siempre, te recomendamos probar tu app mientras el Ahorro de batería esté activo. Puedes activar el Ahorro de batería manualmente en tu dispositivo desde la pantalla Configuración > Ahorro de batería.

Herramientas

Puedes aprovechar aún más estas funciones usando las herramientas disponibles en la plataforma para descubrir qué partes de tu app consumen mayor batería. Detectar los puntos en los que debes trabajar es un gran paso para lograr la optimización.

Existen herramientas para Android, como el Profile GPU Rendering y Battery Historian, que te ayudarán a identificar las áreas en las que puedes optimizar el consumo de batería. Aprovecha estas herramientas para trabajar en las áreas en las que puedes aplicar los principios de la inicialización retrasda.

Más recursos