La optimización de la batería de Android es un desastre. Las aplicaciones viven y mueren a antojo de las optimizaciones de los fabricantes de móviles y sin que los usuarios tengan demasiado control al respecto. Muchas de estas optimizaciones no están documentadas y algunas no se pueden desactivar por completo. Google quiere arreglarlo.
En una sesión de YouTube con motivo del Google I/O centrada en los procesos en segundo plano, el equipo de Android Frameworks destacó varios frentes por los cuales piensan tratar de estandarizar y atacar el problema de la optimización de aplicaciones Android en varios frentes. Los cambios comenzaron hace años con los Standy Buckets y continuan en Android 13.
Optimización de batería sí, pero no a lo loco
Al diseñar el sistema operativo Google debe sopesar las necesidades de desarrolladores, usuarios y fabricantes de móviles, un equilibrio que es cada vez más difícil. Los desarrolladores quieren que sus aplicaciones estén siempre disponibles y sus servicios en segundo plano se ejecuten sin demora, mientras que los usuarios quieren buena autonomía y los fabricantes de móviles presumir de autonomía y rendimiento.
Como resultado la optimización de batería de Android se ha convertido en algo así como el Salvaje Oeste pues, si bien Google proporciona herramientas y buenas prácticas para el ahorro de energía, los fabricantes optan por sus propias optimizaciones, a veces demasiado restrictivas o que no se pueden desactivar por completo. No solo eso, no queda claro para los usuarios qué está activo y los desarrolladores de apps se desesperan pues tienen poco control sobre si sus apps funcionarán correctamente o no.
En esta sesión de Google I/O, el equipo de Android destaca varios cambios destinados a arreglar este pequeño gran lio. Primero, Google está trabajando en estandarizar la optimización de batería de Android, de modo que al menos quede claro para usuarios y desarrolladores en qué estado se encuentra una aplicación. Estas etiquetas ya estaban disponibles en Android 12 y son las siguientes: sin restricciones, optimizada, con restricciones y con los servicios en segundo plano restringidos.
Las aplicaciones se categorizan como optimizadas de serie, mientras que el sistema se encargará de alternar entre distintos tipos según el uso que se les de. Las aplicaciones que más se usan recibirán menos restricciones. Estas categorías se pueden elegir -en Android puro, al menos- desde los ajustes de batería de cada aplicación.
Probablemente la parte más importante de dicha sesión es el compromiso de Google en seguir trabajando con los fabricantes para mejorar la consistencia en la gestión de los servicios en segundo plano, aunque sin ningún compromiso específico u obligación. Al menos, de momento.
Otros cambios que vienen en camino para mejorar la experiencia de la optimización de la batería son unas mejores estadísticas del uso de batería de una app, a partir de Android 13, que distinguirán entre el uso en primer plano, segundo plano y de los servicios en segundo plano.
Además, la API JobScheduler, que las aplicaciones pueden usar para programar servicios en segundo plano, gana nuevas funcionalidades en Android 13, intentando programar los trabajos pendientes según si el dispositivo está sobrecalentando o cuando el sistema prevee que es más útil para el usuario, según el historial de uso del móvil.
Vía | Android Police