Android 7.0 para desarrolladores: nuevas funciones, mejoras de rendimiento y otras cosas que no te interesarán
Publicado: 2022-03-11Google anunció formalmente Android 7.0 Nougat hace unas semanas, pero como siempre, tendrás que esperar. La mayoría de los usuarios no recibirán sus actualizaciones inalámbricas (OTA) hasta principios del próximo año. Muchos otros los recibirán dentro de una semana, ya que algunos proveedores de dispositivos simplemente no se molestan.
Esto puede sonar como un motivo de disgusto sarcástico para mí, pero la fragmentación de Android no es una broma; ha sido un serio dolor de cabeza para usuarios y desarrolladores durante años. Android 7.0 no resolverá ese problema, lo cual es una pena porque permite una serie de nuevas funciones y mejoras de rendimiento que los usuarios seguramente disfrutarán.
Sin embargo, los desarrolladores no deberían hacerse ilusiones; no hay ningún cambio de juego aquí. Veamos los ajustes clave bajo el capó de Android y las nuevas oportunidades que presentan, de mayor a menor impacto.
- Nuevo compilador JIT, que complementa el compilador AOT existente de ART
- Soporte de múltiples ventanas
- Compatibilidad con la API de Vulkan
- Arranque directo
- Respuesta directa y notificaciones agrupadas
- Modo de realidad virtual (VR) Daydream
- Interfaz de usuario, ajustes de accesibilidad y optimización de fondo
Obviamente, esta no es una lista completa de todas las características nuevas ; Me decidí por los siete primeros. Puede obtener una descripción detallada de Android 7.0 si se dirige al paraíso de los desarrolladores de Google. Le ahorraré la pelusa innecesaria y le proporcionaré información útil en una forma resumida y fácil de digerir.
1. Nuevo compilador JIT, compilación guiada por perfiles
La compilación JIT está de regreso, y si bien puede sonar como un retroceso a los días de Dalvik, no lo es. Esta vez, Google agregó un compilador JIT con creación de perfiles de código a ART, para complementar el compilador AOT existente de ART. Y la compilación guiada por perfiles es la palabra de moda del día.
ART crea un perfil para los métodos calientes de cada aplicación y varias condiciones del dispositivo. Puede precompilar métodos calientes para ofrecer un rendimiento óptimo, reducir el uso de RAM, disminuir el consumo de energía y más.
Un beneficio adicional es la gran velocidad de las instalaciones y actualizaciones. Dado que la creación de perfiles significa que no hay un paso de optimización, Google incluso afirma que las aplicaciones grandes, que tardaron unos minutos en instalarse en Android 6.0, ahora se pueden instalar o actualizar en cuestión de segundos. En una nota personal, espero que esto también se aplique a World of Tanks Blitz, porque es el único juego de Android que vale la pena.
En los últimos años, se ha avanzado mucho en el almacenamiento móvil. Muchos dispositivos de la generación actual utilizan almacenamiento UFS 2.0 rápido, que ofrece un aumento significativo del rendimiento en comparación con el almacenamiento eMMC de antaño. Android 7.0 debería permitir a los ingenieros de software aprovechar al máximo este nuevo estándar de almacenamiento y desbloquear un rendimiento aún mayor.
Consulte una de mis publicaciones de blog anteriores para descubrir qué significan los planes del compilador de Google para los desarrolladores de Android con más detalle.
Impacto del desarrollador: la compilación guiada por perfiles debería permitir un rendimiento superior y ganancias de eficiencia. Las instalaciones y actualizaciones serán mucho más rápidas y, gracias a la extensa documentación de Google, la implementación debería ser relativamente fácil. Menos espera para todos. Ésto es una cosa buena.
2. Soporte de múltiples ventanas
Espera un segundo, ¿no vimos ya funciones de ventanas múltiples en Android? Si y no; algunas bifurcaciones ofrecían soporte de múltiples ventanas, pero ahora es nativo. Hay dos implementaciones de pantalla dividida: una al lado de la otra y una encima de la otra . Esto es más o menos estándar cuando se trata de dispositivos móviles, pero desafortunadamente, aún no he tenido la oportunidad de probarlo.
Y, para ser honesto, nunca he sido fanático de la funcionalidad de ventanas múltiples en dispositivos móviles, porque la mayoría de los usuarios simplemente no la necesitan.
Sin embargo, no se trata solo de teléfonos inteligentes. Google también está trabajando discretamente en las ofertas de Smart TV, por lo que la compatibilidad con ventanas múltiples también se extenderá a estos dispositivos, pero con un giro. Con más espacio de pantalla para jugar, los creadores de aplicaciones podrán usar el modo de imagen en imagen en los televisores, y algunas funciones serán específicas del proveedor. Los proveedores podrán decidir si activar o no el modo de forma libre . Esto significa que los proveedores de phablets, tabletas y otros dispositivos de gran tamaño con pantallas grandes podrían permitir a los usuarios jugar con el tamaño y la posición de la ventana, lo que suena similar al enfoque de Microsoft, implementado por primera vez en Windows 8.x.
Impacto para los desarrolladores: la compatibilidad con ventanas múltiples no cambia las reglas del juego, pero brindará una oportunidad inmediata en tabletas Android y televisores inteligentes, y estos últimos también obtendrán imagen en imagen y la capacidad de grabar video. ¿El problema? Los televisores con Android no son muy comunes y las tabletas con Android nunca fueron muy populares, especialmente cuando se trata de aplicaciones de productividad que son las que más se benefician de la compatibilidad con ventanas múltiples.
¿Y quien sabe? Tal vez un desarrollador muy brillante cree una excelente aplicación para teléfonos inteligentes que la aproveche. No aguantaré la respiración.
3. API de Vulkan
Esta es otra actualización potencialmente poderosa bajo el capó. Claro, no atraerá tanto el interés de la prensa y los consumidores como las características más ingeniosas, pero no se equivoque: la API de Vulkan es un gran problema.
Si se lo perdió, Vulkan API es una API nueva, de bajo costo y casi metálica para unidades de procesamiento de gráficos (GPU). Y no solo para juegos 3D, sino también para computación GPU. Básicamente, es la continuación de OpenGL y debería permitir un rendimiento superior en procesadores multiproceso junto con compatibilidad entre plataformas. También debería ahorrar miles de horas-hombre en el desarrollo de controladores.
Entonces, ¿por qué no está recibiendo más revuelo? Bueno, es un nuevo estándar y la introducción de una API de gráficos completamente nueva suele llevar un par de años. Es por eso que a los consumidores no les importa, y por eso a los desarrolladores de Android debería importarles .
Para obtener más información sobre la implementación de Vulkan en Android 7.0, lea la descripción general completa de la API de Vulkan que escribí a principios de este año o consulte los recursos para desarrolladores de Google.
Impacto del desarrollador: llegará el momento de la API de Vulkan. Reducirá la sobrecarga de la CPU, lo que aumentará el rendimiento de la GPU y reducirá el consumo de energía en los juegos 3D. Sin embargo, la adopción será lenta, porque estamos hablando de una API de gráficos extremadamente potente y compleja, no solo de un ajuste cosmético.
4. Arranque directo
¿Qué sucede con un dispositivo Android 7.0 bloqueado? Se ejecuta en un modo de arranque directo seguro hasta que el usuario desbloquea el dispositivo.
Para que esto sea posible, Android 7.0 tiene dos ubicaciones de almacenamiento de datos, con dos soluciones de cifrado diferentes:
- El almacenamiento cifrado del dispositivo está disponible en el arranque directo y se puede acceder a él independientemente de si el dispositivo está bloqueado o desbloqueado.
- El almacenamiento cifrado de credenciales sigue siendo la ubicación predeterminada y está disponible solo después de que el usuario desbloquea el dispositivo.
La mayoría de las implicaciones son obvias: las aplicaciones que necesitan operar en modo de inicio directo , antes de que se desbloquee el dispositivo, deben estar habilitadas para hacerlo. De forma predeterminada, las aplicaciones no pueden ejecutarse en arranque directo , pero los desarrolladores pueden registrar diferentes componentes de la aplicación que necesitan ejecutarse en este estado.
Esto debería incluir aplicaciones que entreguen notificaciones importantes o programadas, como aplicaciones de mensajería y calendario. Las aplicaciones que requieren acceso al almacenamiento deben confiar en el almacenamiento cifrado del dispositivo , que está protegido con una clave que está disponible después de que el dispositivo realiza un arranque verificado. El acceso no se extiende a los datos asociados con las credenciales de usuario, a saber, PIN y contraseñas. El almacenamiento cifrado de credenciales no está disponible hasta que el dispositivo se inicia y el usuario lo desbloquea, pero una vez que se accede, permanece disponible hasta que se apaga el dispositivo.
Impacto del desarrollador: se supone que el arranque directo mejora la seguridad sin comprometer la experiencia del usuario y la capacidad de respuesta. La implementación debería ser sencilla, pero en algunos casos implicará una buena cantidad de trabajo tedioso. Aún así, suena como una pequeña compensación por mayor seguridad.
5. Respuesta directa y notificaciones agrupadas
Parece que está relacionado con el inicio directo , pero la respuesta directa es una bestia diferente, ya que permite a los usuarios responder a mensajes y notificaciones desde la pantalla de notificación. La acción de respuesta en línea está disponible a través de un nuevo botón en la notificación. En la práctica, los usuarios deberían poder responder a las notificaciones sin acceder a las aplicaciones, y el sistema se encargará de todo lo demás.

El sistema solo puede hacer su magia si los desarrolladores se toman su tiempo para habilitar la recuperación de respuestas en línea llamando a getResultsFromIntent()
, que devuelve un paquete con la respuesta de texto requerida. Con Android 7.0, Google ofrece a los desarrolladores un nuevo método para representar las notificaciones en cola: notificaciones agrupadas . La solución es similar a la pila de notificaciones en Android Wear.
Las notificaciones agrupadas son solo eso: misivas similares presentadas en un solo grupo, con una jerarquía limpia y con la notificación principal en la parte superior. Luego, los usuarios pueden expandir el paquete para acceder a más información y tomar las medidas apropiadas, o descartar fácilmente todo si no están interesados.
Sin embargo, las notificaciones agrupadas no están diseñadas para usarse con todos los tipos de notificaciones . Google aclara este punto en las mejores prácticas de notificación de Android. Idealmente, el enfoque debería usarse para aplicaciones que generan un gran volumen de notificaciones similares o relacionadas, como las aplicaciones de mensajería.
A partir de Android 7.0 (nivel de API 24), los usuarios pueden responder directamente a los mensajes de texto o actualizar las listas de tareas desde el cuadro de diálogo de notificación. En un dispositivo portátil, la acción de respuesta en línea aparece como un botón adicional que se muestra en la notificación. Cuando un usuario responde a través del teclado, el sistema adjunta la respuesta de texto a la intención que especificó (para la acción de notificación) y la envía a su aplicación portátil.
Impacto del desarrollador: la respuesta directa y las notificaciones agrupadas deberían mejorar la experiencia del usuario en varios escenarios. Y a juzgar por la documentación de Google, tampoco deberían ser difíciles de implementar. Obviamente, el correo electrónico, la mensajería y las aplicaciones sociales se beneficiarán al máximo de la respuesta en línea, aunque el enfoque podría implementarse en otros lugares.
6. Realidad virtual de ensueño
El enfoque reciente de Google en la realidad virtual demuestra que el gigante de las búsquedas no es inmune a las exageraciones. Todos recordamos Google Cardboard y Google Glass, que fue una grieta desafortunada en el espacio de la realidad aumentada.
A diferencia de Glass, Cardboard no se marchitó y murió simplemente, sino que sigue siendo más un experimento que un producto real. Google mejoró el concepto y está a punto de ser relanzado en unas semanas, con un nuevo nombre: Google Daydream . Daydream es, más o menos, un paso evolutivo. Parece un auricular Cardboard modificado, pero los cambios sustanciales son difíciles de detectar.
El soporte llegará pronto, en la próxima generación de teléfonos Android, pero los diseñadores y desarrolladores pueden probar sus conceptos en el Nexus 6P de generación actual, actualmente el único dispositivo compatible con Daydream .
Google describe a Daydream como la solución de realidad virtual de próxima generación para dispositivos móviles, con una interactividad mejorada y una mejor capacidad de respuesta en comparación con Cardboard. La compañía dice que realizó mejoras en todos los niveles de la pila de Android para mejorar la capacidad de respuesta. Esto debería permitir que Android 7.0 acceda a los datos del sensor más rápido y renderice la escena de realidad virtual adecuada en el momento correcto, reduciendo drásticamente la latencia. Daydream también viene con un nuevo controlador inalámbrico con botones de APP
y HOME
.
Desafortunadamente, ninguno de estos ajustes abordará el mayor problema que enfrenta la realidad virtual: la falta de contenido . La buena noticia es que las cosas están mejorando y Google promete ofrecer más contenido en Daydream a través de una serie de asociaciones que cubren todo, desde comedias de situación hasta juegos.
Mi posición sobre la realidad virtual móvil sigue siendo algo conservadora, como describí en mi descripción general de Google Cardboard. Mis puntos de vista fueron reivindicados parcialmente por una investigación de mercado reciente, que parece sugerir que la demanda de realidad virtual sigue siendo baja. Google no puede abordar todos los problemas iniciales que enfrenta la realidad virtual móvil en la actualidad. No es una cuestión de complacencia; Google debe esperar por un mejor hardware.
Incluso antes de probar Cardboard, sabía que la duración de la batería y la temperatura serían un problema, al igual que Google. En el futuro, esto seguirá siendo un problema persistente. De hecho, Google establece claramente que el rendimiento térmico del Nexus 6P "no es representativo" de los próximos teléfonos compatibles con Daydream :
Espere que el 6P acelere térmicamente el rendimiento de la CPU y la GPU después de un breve período de uso, según la carga de trabajo.
Tendremos que esperar a que los fabricantes de chips y los vendedores de teléfonos inteligentes presenten una nueva generación de productos antes de que podamos realmente aprovechar Daydream .
Impacto del desarrollador: Daydream VR puede ofrecer algunas posibilidades nuevas, pero esto no es tan sencillo como parece. Si bien muchas empresas de tecnología se están subiendo al tren de la realidad virtual, los consumidores no. En este momento, es un viaje solitario y costoso.
7. Interfaz de usuario, ajustes de accesibilidad y optimización de fondo
Google pulió la interfaz de usuario, agregó algunas funciones y ajustó el rendimiento en un esfuerzo por brindar una experiencia de usuario aún más fluida. Aquí hay una muestra de lo nuevo:
- Soporte parcial para alrededor de 100 nuevos idiomas, junto con paquetes de idiomas mejorados y nuevas variantes locales para los principales idiomas como el español y el inglés.
- Varias configuraciones regionales en Configuración, lo que mejorará en gran medida la experiencia de los usuarios multilocales y bilingües.
- WebView mejorado, el navegador integrado en la aplicación. Se basará en Chrome APK (a partir de la versión 51) para representar páginas, reduciendo el uso de memoria y los requisitos de ancho de banda. El APK de WebView independiente ya no se actualizará siempre que Chrome esté habilitado.
- Actualizaciones de Android for Work para mejorar la seguridad y permitir la compatibilidad con VPN siempre activa. Una función de cambio rápido permitirá a los usuarios cambiar entre los modos de trabajo y personal.
- Project Svelte, que es el nombre de Google para una gama de optimizaciones en segundo plano que cambian la forma en que se ejecutan las aplicaciones para reducir el uso de RAM. Google dice que continuará ampliando y actualizando
JobScheduler
yGCMNetworkManager
, pero al mismo tiempo, eliminará tres transmisiones ampliamente utilizadas:CONNECTIVITY_ACTION
,ACTION_NEW_PICTURE
yACTION_NEW_VIDEO
. Si su aplicación se basa en alguno de ellos, tendrá que migrar aJobScheduler
. Puedes consultar los detalles geek en Google. - La interfaz de usuario se ajusta a la pantalla de bienvenida y al mosaico de configuración rápida, que ahora incluye una nueva API que se puede usar en aplicaciones de terceros. Las mejoras de notificación incluyen dos nuevas API de vista personalizada.
- Asistente de Google, Google Allo, Google Duo.
Impacto del desarrollador: estas nuevas características y ajustes son adiciones bienvenidas a Android, pero es poco probable que generen muchas oportunidades nuevas.
Android 7.0: ¿Cuál es el resultado final?
Es justo decir que Android 7.0 no es un gran problema para los desarrolladores. Es una mejora incremental, principalmente acerca de la optimización. No facilitará la creación de aplicaciones y servicios trascendentales que antes no eran posibles.
Pero no veo nada malo en eso. Los teléfonos inteligentes ya están repletos de funciones y la gente se está cansando de los trucos, por lo que es comprensible que Google opte por centrarse en mejorar el rendimiento, la eficiencia energética, la seguridad y la experiencia general del usuario. Y, al igual que iOS, Android ahora es maduro. Si está decepcionado por la falta de nuevas funciones, le sugiero que se acostumbre porque es la nueva normalidad .
Ahora que lo pienso, la noticia más importante sobre Android 7.0 no es el sistema operativo en sí. Es decisión de Google lanzar nuevos teléfonos Pixel diseñados para aprovechar todo lo que el sistema operativo tiene para ofrecer. Desde la perspectiva del hardware, no son particularmente especiales: se basan en tecnología lista para usar, al igual que sus predecesores de la serie Nexus. Pero el modelo de negocios de Google para Pixel es muy diferente, con el enfoque en controlar la experiencia del usuario de extremo a extremo y agregar valor de una manera similar a la de Apple.
Es demasiado pronto para especular qué impacto tendrá Pixel en el resto del ecosistema de Android, pero esto es seguro: será un acto de equilibrio delicado. Google podría optar por reservar algunas funciones únicamente para sus teléfonos Pixel internos, pero al mismo tiempo no puede exagerar. No puede darse el lujo de alienar a los proveedores de Android y hacer que sus productos sean menos competitivos agregando demasiadas funciones exclusivas de Pixel.
Queda por ver cómo se desarrolla todo esto, pero mientras tanto, debemos centrarnos en aprovechar al máximo Android 7.0. En realidad, haga ese 7.1, que está en Beta y probablemente se lanzará en breve.