Menú

Gabriel Viso

Un blog y un podcast, por Gabriel Viso

Doze, la característica de Android 6 que rejuvenece al móvil

Llevo unos 3 días con Android 6, llamado Marshmallow (nombre inglés para la golosina conocida en España como nube), y si hay una característica que me ha impactado ha sido Doze. Doze es el nombre de un proyecto muy ambicioso que afecta profundamente a la forma que el sistema operativo tiene de comportarse cuando el teléfono está en suspensión y quieto, y que hace que la duración práctica de la batería se haya, en mi caso, duplicado.

Esto es fantástico en mi opinión, ya que la principal sensación que me lleva a dar un teléfono por “viejo”, o para empezar a pensar “necesito un móvil nuevo” pasa por la autonomía de la bateria. Sobre todo porque, a medida voy usando el teléfono, mi patrón de uso cambia, con el paso de los meses exijo mucho más de él, y acabo por sobrepasarlo en ese sentido al gastar la batería cada vez más pronto (repito: la gasto yo mismo, con mi uso, que va cambiando y haciéndose más exigente). Con Doze, el teléfono rejuvenece en este sentido.

A grandes rasgos, ayer desenchufé el móvil a las 18:00 y, pasando la noche entera con los servicios de datos activados, a las 19:20 de hoy todavía le queda un 16 % de batería: unas 5 horas según el sistema. Eso arrojaría un total de 31:30 horas de autonomía para un Nexus 5 con el que, antes de la versión 6 de Android, conseguía 15 horas en el mejor de los casos y a duras penas.

26 horas y pico de uso de un Nexus 5 con Android 6. Se pueden apreciar claramente las franjas "de uso" y "de reposo".

26 horas y pico de uso de un Nexus 5 con Android 6, y todavía con 5 por delante. Se pueden apreciar claramente las franjas “de uso” y “de reposo”.

El susto, realmente, me lo llevé el primer día: me fui a dormir con el teléfono recién desenchufado nada más actualizarlo, y dejé la WiFi y la conexión de datos activa toda la noche. Esta barbaridad es lo que clamaba el teléfono que estaba dispuesto a aguantar en reposo:

¿12 días de batería en reposo, con sólo 2300 mAh?

Era el 10 de octubre, y al levantarme habiendo dejado el teléfono con la WiFi y la conexión LTE activadas de forma deliberada, vi… ¿12 días de batería en reposo, con sólo 2300 mAh? Una locura.

He estado leyendo la página de desarrolladores de Android acerca de esta característica de la nueva versión, y he sacado unos apuntes en claro.

Doze se activa cuando el teléfono se suspende y el usuario lo deja quieto (es decir, no mueve el teléfono) durante cierto tiempo. El teléfono se suspende un cierto tiempo después de que la pantalla se apague; en mi caso un minuto. En tu caso lo puedes ver en el menú de ajustes de la pantalla, en una opción llamada Suspender después de….

En Doze se definen dos modos: Doze propiamente dicho, y ventanas de mantenimiento. Además, una aplicación nos puede pedir (a ti, a mí) exención a este tipo de políticas mediante su inclusión en una lista blanca. Vamos a ver estos temas uno por uno.

Períodos Doze

Cuando Doze entra en funcionamiento, ocurre lo siguiente:

  • Se difiere el uso de la red: las aplicaciones no pueden iniciar conexiones en segundo plano desde el teléfono al servidor. Es decir, tu teléfono no descargará datos por iniciativa de ninguna de sus aplicaciones locales: las sincronizaciones de datos en segundo plano se pararán y quedarán diferidas a la siguiente ventana de mantenimiento. Sí recibirá datos si los servicios tras tus aplicaciones envían mensajes Push al dispositivo a través de la infraestructura de Google, que se llama GCM (Google Cloud Messaging).
    • Por ejemplo, Facebook no usa GCM, sino que usa Pushy, una alternativa de pago a las comunicaciones de Google. En este caso, hasta que Pushy no se adaptase a Doze, si es que no lo ha hecho ya, o hasta que Facebook no usase GCM, Facebook no podrá recibir datos si el teléfono está en modo Doze. No estoy muy al tanto de la relación hoy entre Facebook y Pushy, pero, sin más, sirva esto como ejemplo semi-ficticio si estuviera equivocado.
    • WhatsApp y la práctica totalidad de aplicaciones de mensajería instantánea usan GCM, por lo que no perderás ningún mensaje menor a 4 kB (el límite de tamaño de los mensajes de GCM).
  • Se difiere el uso de procesador por parte de las aplicaciones instaladas. Es decir, el sistema no se va a ejecutar tareas programadas ni prestará atención a los llamados wake locks, que son recursos del programador que permiten a las aplicaciones impedir que el teléfono se suspenda.
  • La WiFi no va a realizar búsquedas de dispositivos ni de redes para ofrecerte.
  • Se procesarán alarmas prioritarias y se mostrarán notificaciones prioritarias:
    • El despertador seguirá sonando 🙂
    • Las notificaciones prioritarias pueden ser, por ejemplo, las que reciben los programas de mensajería instantánea.

Personalmente, no he perdido ningún mensaje de ninguna de mis aplicaciones de chat, que son Telegram, WhatsApp y Hangouts. Tampoco he perdido ninguna funcionalidad notable salvo la descarga automática de episodios de podcasts, para lo que uso Pocket Casts y tampoco es algo que me preocupe sustancialmente: antes de salir de casa, suelo entrar y lanzar yo mismo las descargas desde hace mucho tiempo antes de la salida de Android 6.

Vamos con las ventanas de mantenimiento.

Ventanas de mantenimiento

Una ventana de mantenimiento es un corto período de tiempo en el que Android saca al teléfono del modo Doze y permite que las aplicaciones, a las que antes les había negado el uso de procesador y red, realicen sus tareas pendientes: descarga de datos, ejecución de procesos programados, alarmas no prioritarias, y mostrar notificaciones no prioritarias.

Estas ventanas de mantenimiento son cortas, y además se producen cada vez con menor frecuencia: cuanto más tiempo lleve el teléfono suspendido e inmóvil, más espaciadas estarán las ventanas de mantenimiento. Esta medida se ha llevado a cabo para ahorrar batería en períodos excepcionalmente largos de reposo, como por ejemplo por las noches.

Lista blanca

Podéis pensar que este mecanismo es dictatorial e injusto para las pobrecillas aplicaciones, porque para poder acceder a la CPU y a la red durante los períodos de reposo del teléfono, se verán relegadas al puño de hierro de Android.

Pues tampoco es así. Una aplicación puede solicitar al usuario que la introduzca en una lista blanca de consumo de recursos, es decir, en una lista de privilegiados a los que Doze no afecta. Es decir, en un determinado momento y gracias al nuevo esquema de permisos de Android (del que escribiré en breve, porque también es estupendo), una aplicación te podrá preguntar algo como si le permites abstenerse de entrar en la política de optimización de batería. Si le dices que sí, entrará en una lista blanca que hará que funcione pese a que el resto estén gestionadas por el modo Doze.

La lista blanca la puedes consultar en el menú de ajustes de la batería. Si pulsas en los tres puntos de la esquina superior derecha de la pantalla una vez allí, verás el conocido menú de Ahorro de batería, y una nueva: Optimización de batería. Al acceder a ésta, verás que te proporciona dos listas: No optimizadas y Todas las aplicaciones.

Lista de aplicaciones no optimizadas, o "Lista blanca de Doze". La única existente aquí por derecho propio, y sin posibilidad de cuestionarlo, son los Servicios de Google Play que, entre otras cosas, se encargan de recibir mensajes Push por GCM.

Lista de aplicaciones no optimizadas, o “Lista blanca de Doze”. La única existente aquí por derecho propio, y sin posibilidad de cuestionarlo, son los Servicios de Google Play que, entre otras cosas, se encargan de recibir mensajes Push por GCM.

Menú de aplicaciones optimizadas por Doze. Como véis, tanto las aplicaciones instaladas (el Administrador de Páginas es de Facebook) como aplicaciones de Google y partes no esenciales del sistema están aquí.

Menú de aplicaciones optimizadas por Doze. Como véis, tanto las aplicaciones instaladas (el Administrador de Páginas es de Facebook) como aplicaciones de Google y partes no esenciales del sistema están aquí.

Esta clasificación es muy aclaratoria: todas las aplicaciones, independientemente de que hayan sido diseñadas para Android 6 ó para versiones anteriores, van a estar controladas por Doze. Para escapar a ese control, la aplicación debe solicitar permiso al usuario, es decir, a ti, con la única excepción de los Servicios de Google Play, ya que éstos son, en definitiva, parte esencial del sistema operativo y desarrollan tareas como recibir mensajes Push por GCM.

El hecho de que una aplicación pida directamente la inclusión en esta lista blanca está sujeto a revisión al ir en contra de las políticas de Google Play desde el lanzamiento de Android 6.

Y esto es todo, ¿qué opinas de este mecanismo?, ¿cómo te ha afectado si tu teléfono ha sido ya actualizado? En mi caso ha sido sencillamente espectacular y renueva por completo la vida de mi teléfono. ¡Espero tus comentarios!

Comentarios

[…] Doze, la característica de Android 6 que rejuvenece al móvil […]

fosco_ dice:

Totalmente de acuerdo, 5 días de batería marca en mi Nexus 4. Para los que hacemos un uso poco intenso del movil hace que la batería dure mucho más que antes.

Gabriel Viso Carrera dice:

Hola, gracias por tu comentario. Una pregunta: ¿con qué ROM has actualizado el Nexus 4? Por lo que sé, ni el Nexus 4 ni el 10 recibirán la actualización “stock” de Google.

Mauro dice:

Hola. Yo estoy teniendo problemas con el doze (supongo) ya que me desactiva el whatsapp por más que haya puesto la aplicación en la lista blanca. Hay que añadir algo extra a la lista blanca para que funcione de forma correcta? Gracias

Gabriel Viso Carrera dice:

No debería hacer falta nada. Si no te funciona el WhatsApp, prueba a hacerte una copia de seguridad de tu historial, desinstalarlo y volverlo a instalar.

Pedro dice:

Al buscar info de lo que le pasa al teléfono de mi mujer he dado con tu página y no se si será esto de lo que habla lo que le pasa, porque cuando está sin usarlo, no le entran ni las llamadas, da apagado o fuera de cobertura. Le restauré las conexiones de red y tal y parece que ha ido bien dos días, pero está otra vez igual, puede ser por esto?

Gabriel Viso Carrera dice:

No debería porque el diseño del sistema deja ventanas para que entren todas las comunicaciones, independientemente de la prioridad. Tienes pinta de baja cobertura y de que la WiFi se desactive cuando el teléfono entra en reposo. Yo revisaría los ajustes de la WiFi.

Ramon Salas dice:

Hola. Tu explicación es bastante clara, sin embargo a mi me suspende los datos moviles después de estar conectado a una WiFi. Al salir de la WiFi no entra ningun mensaje de ninguna app que use datos hasta que apago y enciendo la red movil. Segun yo esto es por Doze pero no se cual de los elementos de la lista debo cambiar para evitar que haga esto. Si será por Doze?

Gabriel Viso Carrera dice:

No sabría decirte… parece que es un problema del firmware de tu modelo concreto. ¿Has encontrado algo en algún foro o similar?

Luis Armando Giron dice:

– Muy bueno el articulo, a Usted solo le aparece No optimizados los SERVICIOS DE GOOGLE PLAY pero a mi me aparecen 2 mas; DM SERVICE y NOTIFICACIONES DE MOTOROLA, marca esto alguna diferencia en el consumo ? Gracias

Gabriel Viso Carrera dice:

Entiendo que no, al ser servicio del fabricante del teléfono

Deja un comentario