🎃 ¡Rebajas de Halloween! ¡Office 2021 para siempre por sólo 29,11€/PC! [ Saber más ]
No es ningún secreto que muchos fabricantes alteran el comportamiento original de Android para alagar la duración de la batería.
Estos cambios se basan en una gestión más agresiva con las apps que se ejecutan en segundo plano, lo que en ocasiones puede dar problemas con ciertas apps que dejan de funcionar cuando no se utilizn.
Tradicionalmente, los fabricantes chinos han sido los que más han abusado de estas prácticas agresivas, y el tema ha sido discutido en numerosas ocasiones.
Este problema fue el mas votado en la sesión AMA (Ask Me Anything) que llevó a cabo el equipo de desarrollo de Google de Android 11, y la compañía se comprometió a obligar a los fabricantes a ser más transparentes sobre las restricciones que aplican a apps en segundo plano.
Estamos actualizando el Documento de Definición de Compatibilidad (CDD) para Android 11 para asegurarnos de que los fabricantes de dispositivos alerten a los usuarios de las restricciones de las aplicaciones de manera oportuna. Esto no sólo ayuda a educar a los usuarios sobre lo que está sucediendo con sus aplicaciones, sino que también permite a los usuarios anular la restricción si así lo desean.
Sin embargo, no parece que los fabricantes estén siguiendo las recomendaciones de Google ya que, lejos de mejorar, el problema esté empeorando en algunos fabricantes. Sin ir más lejos, según la web DontKillMyApp, la actualización a Android 11 de Samsung parece haber endurecido las restricciones.
Según un desarrollador cuyo Galaxy S10e se ha actualizado a la última versión de Android, Samsung ha restringido todavía más los wake-locks y los mensajes de difusión.
Para demostrarlo, ha probado una app que recoge datos del acelerómetro y las guarda con una marca de tiempo. Con la actualización de Android 11, cuando el dispositivo se desenchufa y se deja con la pantalla apagada, después de 3 minutos, la app deja de recibir los datos del acelerómetro.
Tras unos minutos, si se enciende la pantalla, la app reanuda la recogida de los datos (80 segundos de datos en una breve ráfaga), pero hay un gran vacío entre los datos, además de que hay valores intermitentes fuera de orden (es decir, las marcas de tiempo no son siempre monótonamente crecientes).
Mirando los registros del dispositivo, está claro que en el momento exacto en el que la app dejó de recibir datos, el servicio del gestor de energía decidió «congelar» la app, desactivando su wakelock. La aplicación se «descongela» de nuevo tras enchufar el cable USB.
Esto no es solo un problema para los usuarios, sino también para los desarrolladores cuyas apps ejecutan tareas en segundo plano.
La única manera que tienen los desarrolladores de evitar este problema es desactivando la optimización de la batería de Android. Sin embargo, esta acción está generalmente prohibida en la política de Google Play y puede hacer que la aplicación sea eliminada de Google Play.
Normalmente los usuarios pueden restringir manualmente las optimizaciones de batería para ciertas apps pero se trata de una opción que no todos los usuarios conocen ni entienden sus efectos.