Bateria
Performance
Mobile
Otimização
iOS
Android

Consumo de batería en aplicaciones: cómo optimizar el rendimiento móvil

Consumo de batería en aplicaciones: cómo optimizar el rendimiento móvil

La batería es un recurso valioso en los dispositivos móviles. Las aplicaciones que agotan la batería se desinstalan y tienen mala calificación. Esta guía presenta las causas del consumo excesivo y técnicas para crear aplicaciones energéticamente eficientes.

Por qué es importante la batería

Experiencia de usuario

Nadie quiere una aplicación que agote su batería. La frustración lleva a la desinstalación.

Reseñas

El "agotamiento de la batería" aparece con frecuencia en las críticas negativas.

Restricciones del sistema

iOS y Android limitan las aplicaciones que consumen demasiado. Terminación en segundo plano.

Causas del consumo excesivo

Actividad en segundo plano

Procesos que se ejecutan cuando la aplicación no está en uso.

Ubicación constante

El GPS es uno de los mayores consumidores. Úselo sólo cuando sea necesario.

Solicitudes de red

Solicitudes frecuentes, especialmente con la pantalla apagada.

Bloqueos de activación

Mantener la CPU o la pantalla activa incorrectamente.

Animaciones pesadas

Las animaciones complejas requieren GPU. Úselo con moderación.

Procesamiento intensivo

Cálculos pesados, decodificación de medios.

Notificaciones push excesivas

Cada notificación activa el dispositivo.

Monitoreo del consumo

###Androide

Historiador de batería, Android Studio Profiler.

iOS

Medidor de energía Xcode, registro de energía de instrumentos.

Métricas

Tiempo de CPU, actividad de red, actualizaciones de ubicación, reactivaciones.

Optimización de la red

procesamiento por lotes

Agrupe las solicitudes en lugar de hacerlas una por una.

Compresión

Datos más pequeños = menos tiempo de transmisión.

Almacenamiento en caché

Evite solicitudes repetidas. Almacenamiento en caché agresivo.

Captación previa inteligente

Descarga datos cuando estés conectado y en Wi-Fi.

Retroceso exponencial

Los errores no deberían provocar reintentos agresivos.

Optimización de ubicación

Precisión adecuada

Utilice la precisión más baja necesaria. La alta precisión consume mucho.

Geovalla

Deje que el sistema le notifique cuando ingrese a la región. No hagas encuestas constantemente.

Cambios de ubicación importantes

Para iOS, alternativa eficiente a las actualizaciones continuas.

Proveedor de ubicación fusionada

Para Android, equilibra precisión y consumo.

Detente cuando sea innecesario

Elimine los oyentes cuando ya no los necesite.

Trabajo en segundo plano

iOS

Actualización de la aplicación en segundo plano limitada. BGTaskScheduler para tareas.

###Androide

WorkManager para tareas aplazables. Respeta el modo Doze.

Principio general

Haz lo mínimo necesario. Completa y duerme.

Evite las encuestas

Utilice push/websockets en lugar de sondeos constantes.

Bloqueos de activación

¿Qué son?

Evite que la CPU o la pantalla entren en suspensión.

Riesgos

Wake lock olvidado = batería agotada.

Buenas prácticas

Minimiza la duración, libera inmediatamente, utiliza tiempos de espera.

###Androide

Prefiere JobScheduler o WorkManager.

Animaciones eficientes

Aceleración de hardware

Úselo cuando sea posible. GPU más eficiente que CPU para gráficos.

Velocidad de fotogramas

60 fps es fluido, pero consume. Reducir cuando sea aceptable.

Animaciones fuera de pantalla

Pausa animaciones no visibles.

Lottie

Animaciones vectoriales eficientes.

Representación

Diseños simples

Las jerarquías profundas son costosas. Aplanar.

RecicladorVer/Lista

Reciclar vistas. No recrees constantemente.

Sobregiro

Evite dibujar píxeles varias veces. Inspeccionar con herramientas.

Notificaciones automáticas

Prioridad correcta

Prioridad normal para no urgente. Lote en el servidor.

Pequeña carga útil

Menos datos = menos procesamiento.

Empuje silencioso

Para sincronización en segundo plano. No actives la pantalla innecesariamente.

Medios

Códec eficiente

H.265/HEVC es más eficiente que H.264 en muchos casos.

Resolución adecuada

No decodifique 4K en miniatura.

Reproducción

Pausa cuando no sea visible. Libera recursos.

Sensores

Uso bajo demanda

Registre el oyente sólo cuando sea necesario.

Frecuencia adecuada

Frecuencia más baja posible que cumpla con el requisito.

Entrega por lotes

Lecturas grupales para menos despertares.

Herramientas de diagnóstico

###Androide

  • Historiador de batería
  • Perfilador de Android Studio
  • estadísticas de batería dumpsys

iOS

  • Organizador de energía Xcode
  • Instrumentos (Registro de energía)
  • Kit de métricas

Pruebas

Escenarios reales

Pruebe en uso real, no sólo en el laboratorio.

Varios dispositivos

El rendimiento varía entre dispositivos.

Batería baja

Comportamiento con 20%, 10%, 5%.

Fondo extendido

Déjalo en segundo plano durante horas. Medida.

API del sistema

###Androide

  • Modo Doze: respetar, probar.
  • Aplicación Standby Buckets: comprenda las categorías
  • Ahorro de batería: adapta el comportamiento

iOS

  • Modo de bajo consumo: reduce la actividad
  • Actualización de la aplicación en segundo plano: respetar la preferencia
  • BGTaskScheduler: para tareas eficientes

Modo oscuro

Pantallas OLED

Los píxeles negros están apagados. El modo oscuro guarda.

Soporte nativo

Implementar las siguientes pautas. El sistema se adapta.

Errores comunes

GPS siempre encendido

Olvidar detener las actualizaciones de ubicación.

Temporizador agresivo

setInterval de 1 segundo innecesario.

Se filtró el bloqueo de activación

No publicado en excepciones o casos extremos.

Depuración en producción

Registros excesivos, funciones de depuración activadas.

Conclusión

La optimización de la batería es responsabilidad del desarrollador. Supervise el consumo, minimice el fondo, utilice API eficientes y realice pruebas en condiciones reales. Los usuarios agradecen y quédense.

##Preguntas frecuentes

1) ¿Cómo sé si mi aplicación consume mucha batería? Utilice herramientas de creación de perfiles. Comparar con aplicaciones similares.

2) ¿El fondo es el mayor problema? Muchas veces sí. La actividad con la pantalla apagada es muy costosa.

3) ¿Cuánto consume el GPS? Es uno de los mayores consumidores. Utilice la precisión mínima requerida.

4) ¿El modo oscuro realmente ahorra batería? En las pantallas OLED, sí significativamente. LCD, no.

5) ¿Cómo probar el consumo de batería? Utilice perfiladores, pruebe en dispositivos reales, simule un uso prolongado.

Lea también