Como si de una marca de nacimiento se tratase, Android siempre ha pecado de una triste gestión energética. La autonomía de los smartphones con Android siempre ha sido, por lo general, inferior a sus rivales más cercanos (iOS y Windows Phone), un factor decisivo para muchos usuarios cuando llegaba el momento de adquirir un nuevo dispositivo.
Historicamente, la autonomía no ha sido el fuerte de la plataforma Android
La situación ha ido mejorando con el paso del tiempo, sí, pero lo ha hecho a base de fuerza bruta: aumentando progresivamente la capacidad de las baterías. Inevitablemente, esto se traduce en una mayor autonomía –siempre que el resto de variables (consumos energéticos del resto de componentes) se mantengan invariables–, pero no es el único camino para alcanzar esa deseada independencia del cargador.
La otra fórmula se basa en la optimización por software, regulando cuidadosamente los consumos energéticos (tanto intensidad como frecuencia) de los diferentes componentes que forman un smartphone. Y eso es precisamente lo que Google intentó lograr con Project Volta, una serie de medidas implantadas en Android 5.0 Lollipop –versión que pudimos conocer inicialmente durante el pasado Google I/O 2014–.
¿Cómo funciona Project Volta?
Project Volta, a grosso modo, podemos dividirlo en tres partes fundamentales:
JobScheduler
Una de las virtudes –y a la vez defectos– de Android es la libertad que otorga Google a los desarrolladores para ejecutar tareas en segundo plano. Las aplicaciones pueden “despertar” al dispositivo en cualquier momento para realizar tareas en segundo plano –incluso si este se encuentra con la pantalla apagada–, provocando, como consecuencia, un descenso notable de la autonomía del dispositivo.
Para tratar de regular esos consumos en segundo plano, Google desarrolló la API JobScheduler, que, como su nombre bien indica, es un planificador de tareas.
¿Cómo funciona JobScheduler? Muy resumidamente, esta parte de Project Volta se encarga de agrupar los diferentes procesos que las aplicaciones realizan en segundo plano, organizándolos por prioridad e intentando reducir el número de “despertares” del dispositivo. Para ello, los desarrolladores de las aplicaciones deben fijar una serie de parámetros de prioridad que serán considerados por JobScheduler, quien se encargará de permitir la ejecución de esos cuando sea posible.
JobScheduler regula el número de "despertares" del dispositivo
Por ejemplo: Google Play, de forma predeterminada, no comprueba actualizaciones pendientes hasta que el dispositivo esté cargando y conectado a una red Wi-Fi. JobScheduler es el encargado de prohibir a Google Play la ejecución de esos procesos hasta que se den las circunstancias anteriormente citadas.
Además del contexto (conectividad, batería restante, etc.), JobScheduler tiene en cuenta la prioridad de los procesos –la cual también es fijada por los desarrolladores de las aplicaciones–. Si una aplicación necesita conectarse a internet para actualizar su base de datos, JobScheduler retendrá ese proceso hasta que se den las circunstancias idóneas o, en su defecto, hasta que se agrupen un número concretos de procesos similares. Cuando se dé una de las dos situaciones, JobScheduler permitirá la ejecución de dichos procesos. De esta forma, en lugar de “despertar” 100 veces el dispositivo, este se despertará 10, reduciendo así considerablemente el tiempo que el terminal está activo en segundo plano y, como consecuencia, aumentando la autonomía.
Battery Historian
Google conoce que el consumo de las aplicaciones es la principal razón por la que la autonomía de los dispositivos Android ha sido tan pobre desde sus inicios. Por ello, en Project Volta incorporó una nueva utilidad conocida como Battery Historian, la cual permite a los desarrolladores conocer de una forma más visual y detallada los procesos que están ejecutando sus aplicaciones y, simultáneamente, cuánta energía están consumiendo cada uno de ellos.
De esta forma, Google pretende facilitar a los desarrolladores la optimización de los consumos energéticos de las aplicaciones, reduciendo así el consumo energético de estas y, paralelamente, aumentando la duración de la autonomía de cualquier dispositivo Android que la albergue en su interior.
Battery Saver Mode
El tercer componente de Project Volta es Battery Saver Mode (modo de ahorro de energía en español), que, como su nombre ya indica, es un modo de ahorro de energía, similar al que los fabricantes llevan incluyendo años en sus dispositivos Android.
Un modo muy condicionado pero realmente útil en determinadas situaciones
Este modo de ahorro energético reduce la frecuencia máxima de la CPU, limita al máximo los procesos en segundo plano y controla minuciosamente la conectividad del dispositivo, prolongando así la autonomía del mismo. Eso sí, este jugo extra tiene un precio: la respuesta del terminal ante tareas más exhaustivas es, obviamente, inferior a lo habitual (más lentitud, menos fluidez, etc.), por lo que su uso solo se recomienda en situaciones extremas –como ese temido momento en que la autonomía alcanza el 15% restante–.
¿Ha surtido efecto Project Volta?
Las primeras pruebas realizadas sobre la preview de Android L eran esperanzadoras. ArsTechnica afirmaba un incremento del 36% en el tiempo de navegación por internet sobre Wi-Fi –tomando como base un Nexus 5–, algo realmente elogiable (aunque no determinante).
Pero ni esa era la versión final de Android 5.0 Lollipop ni todos los dispositivos ejecutan una versión limpia como los de la familia Nexus ni la navegación web es la única tarea que realizamos con nuestro smartphone. Por lo tanto, esos tests iniciales eran un tanto incompletos.
Afortunadamente, GSMArena ha realizado una serie de tests más profundos, arrojando las diversas cifras. Pero, de todos ellos, el test al que más atención debemos prestar es al de duración total en reposo, pues las condiciones son las más homogéneas para juzgar la influencia de Project Volta –no influye la tecnología ni el consumo de la pantalla, no influye la optimización de las aplicaciones en primer plano, etc.–. En él podemos ver cómo las diferencias respecto a Android 4.4 KitKat no son excesivamente destacables, algo que muchos considerarán fracaso.
No obstante, existe una explicación ante tan escasa mejora: los desarrolladores. Aunque muchos lo hayan interpretado como tal, Project Volta no es un milagro en forma de software; es un conjunto de herramientas que permite a los desarrolladores mejorar la eficiencia energética de sus aplicaciones, prolongando así la autonomía total del dispositivo. Por lo tanto, la responsabilidad de la eficacia de Project Volta recae sobre ellos: si estos no hacen un uso adecuado de dichas herramientas –fijando correctamente los parámetros para JobScheduler y analizando los consumos con Battery Historian–, el incremento en la autonomía total del dispositivo es ínfimo.
Así pues, aunque Project Volta es un gran avance y, conforme pase el tiempo, iremos viendo una mayor trascendencia, no podemos denominarlo como ese ave salvadora que muchos esperaban –a diferencia de otros proyectos similares como Project Butter–. Tendremos que seguir esperando a que los desarrolladores y los fabricantes hagan mejor uso de estas herramientas y/o a que Google lance nuevas funciones con mayor trascendencia en este ámbito. Quizá lo veamos en el próximo Google I/O.