Consumo de batería para miles de millones de usuarios

El acceso a suministros de energía confiables puede variar y los apagones pueden interrumpir las cargas planeadas. Protege las baterías de los usuarios contra el consumo innecesario evaluando el uso de la batería, evitando las funciones wakelock, programando tareas y controlando las solicitudes de sensores.

Reduce el consumo de batería

Hay varios pasos que puedes seguir para asegurarte de que tu app solo consuma energía de la batería cuando sea necesario, y que no utilice más carga de la necesaria.

  • Tu app debería minimizar su actividad cuando se encuentre en segundo plano y cuando el dispositivo no esté cargándose.
  • Algunos sensores, como los del GPS, pueden agotar la batería en gran medida. Evita cualquier problema usando la API de FusedLocationProvider para administrar las herramientas de ubicación subyacentes. Se trata de una API simple que te permite especificar requisitos —como gran precisión o poca energía— a un alto nivel. También optimiza el uso de la batería del dispositivo, ya que almacena ubicaciones en caché y procesa solicitudes por lote entre apps. Si deseas obtener más información sobre métodos ideales para solicitar ubicaciones, consulta la guía de capacitación Cómo obtener la última ubicación conocida.
  • Los wakelocks son mecanismos que mantienen encendido el dispositivo para poder realizar actividades en segundo plano. Debes evitar usarlos, ya que no permiten que el dispositivo cambie a estados de poca energía.
  • Para disminuir la cantidad de veces que se activa el dispositivo, procesa la actividad de la red por lotes. Para obtener más información acerca del procesamiento por lotes, consulta la capacitación de Android sobre la optimización de descargas para un acceso eficiente a la red.
  • GcmNetworkManager planifica tareas y permite que los servicios de Google Play procesen operaciones por lotes en el sistema. Esto simplifica bastante la implementación de patrones comunes, como la espera de conectividad de red, el estado de carga del dispositivo, los reintentos y las interrupciones. Usa GcmNetworkManager para llevar a cabo las actividades no esenciales en segundo plano cuando el dispositivo se esté cargando y esté conectado a una red sin medición de uso.
  • Para obtener más información sobre la manera en que la actividad de la red puede consumir la batería y cómo solucionar este problema, consulta Cómo reducir el consumo de batería provocado por la red.

Lleva un registro del uso de batería

Si haces pruebas en un entorno controlado, te será mucho más fácil saber cuáles son las tareas de tu app que consumen bastante batería. Una práctica recomendada es evaluar el uso de batería de tu app para medir la eficiencia y hacer un seguimiento de los cambios con el paso del tiempo.Batterystats recopila los datos de la batería relacionados con tus apps y Battery Historian convierte esa información en vistas HTML.

Para obtener más información sobre cómo reducir el uso de la batería, consulta la capacitación de Android sobre Cómo optimizar la duración de la batería.