Noticia Android 16: cómo acelera las actualizaciones y la instalación de apps

actualizaciones en Android 16


Android 16 llega con una de esas mejoras que a simple vista parecen menores, pero que en el día a día pueden marcar mucha diferencia: las actualizaciones de apps se vuelven casi instantáneas y mucho menos molestas. Gracias a una combinación de cambios en el sistema y de nuevas funciones en la instalación de aplicaciones, Google quiere que tu móvil esté siempre al día sin que tengas la sensación de que algo se queda colgado cada dos por tres.

Detrás de esta experiencia más fluida hay varias piezas técnicas que trabajan en segundo plano: las nuevas “actualizaciones de aplicaciones sin interrupciones”, la reubicación de procesos como dexopt y dex2oat y la llamada compilación en la nube. Todo esto se suma a otros cambios profundos de Android 16 que afectan a desarrolladores, rendimiento, seguridad, privacidad, salud digital y compatibilidad con más formatos de pantalla. Vamos a ver, con calma pero sin rodeos, qué está cambiando exactamente.

¿Qué son las actualizaciones de apps sin interrupciones en Android 16?​


La idea central de Android 16 en este terreno es clara: conseguir que las actualizaciones de las aplicaciones afecten lo mínimo posible al uso normal del móvil. Hasta ahora, cada vez que una app se actualizaba, el sistema tenía que “congelarla” durante un breve periodo de tiempo mientras reemplazaba su código y sus recursos internos, evitando que se ejecutara en paralelo para no provocar errores, fallos de datos o cierres inesperados.

Ese congelamiento temporal tenía sentido desde el punto de vista de la estabilidad, pero en la práctica podía ser un poco incordio. En apps grandes o esenciales para el sistema, ese bloqueo de varios segundos era suficiente para que otras aplicaciones que dependían de ellas se comportaran de forma extraña, se quedaran esperando o incluso mostraran errores ocasionales.

Con Android 16, Google da un paso más y adopta de forma más agresiva el concepto de seamless app updates o actualizaciones de aplicaciones sin interrupciones. El objetivo no es solo que la actualización tarde menos, sino que el tiempo durante el cual una app es totalmente inoperativa se reduzca a lo mínimo posible, casi al punto de resultar imperceptible para el usuario.

Según la información aportada por Google a través de fuentes oficiales, el periodo en el que una app permanece congelada durante la actualización pasa de “varios segundos” a “decenas de milisegundos”. En términos prácticos, hablamos de un salto desde una pausa que notabas claramente a un parpadeo que, en muchos casos, ni siquiera llegas a percibir.

Cómo consigue Android 16 acelerar las actualizaciones de aplicaciones​


Para lograr este recorte tan agresivo en el tiempo de inactividad, Android 16 no recurre a trucos superficiales. Lo que hace es reorganizar tareas internas muy pesadas y adelantarlas a un momento previo de la instalación, de modo que el tramo “crítico” en el que la app debe estar congelada se vuelve mucho más corto.

Las dos piezas clave aquí son dexopt y dex2oat, herramientas del entorno de ejecución Android Runtime (ART) encargadas de optimizar el bytecode de las aplicaciones. Tradicionalmente, parte de su trabajo se ejecutaba justo en ese intervalo en el que la app estaba detenida, lo que alargaba la congelación varios segundos en algunos casos.

Con Android 16, estos procesos se mueven a una fase anterior del flujo de actualización. Es decir, el sistema realiza la mayor parte de la optimización antes de llegar al punto en el que tiene que sustituir los archivos antiguos por los nuevos. Cuando llega el momento de la pausa crítica, lo único que queda por hacer es un cambio rápido de archivos, lo que reduce el tiempo de congelación a esas pocas decenas de milisegundos.

La ventaja de este enfoque es doble: por un lado, el usuario percibe que la actualización es casi instantánea porque la app apenas deja de estar disponible; por otro, se mantiene el mismo nivel de seguridad y consistencia en los datos, ya que las validaciones y optimizaciones siguen haciéndose, solo que en un momento del proceso menos molesto para la experiencia de uso.

Impacto real para usuarios con muchas apps y para móviles modestos​


actualizaciones en Android 16


En un móvil con pocas aplicaciones ligeras, es posible que estos cambios pasen algo desapercibidos. Si solo usas unas cuantas apps que se actualizan de vez en cuando y consumen pocos recursos, quizá nunca hayas sentido que las actualizaciones eran un problema. Pero el panorama cambia bastante cuando hablamos de dispositivos con decenas de apps, juegos pesados o servicios que se actualizan a menudo.

En teléfonos donde se usan muchas aplicaciones de forma intensiva, reducir la ventana de inactividad de cada actualización significa menos bloqueos breves, menos saltos raros en la interfaz y una sensación general de fluidez mucho mayor. Además, si alguna de esas apps actúa como servicio central o proporciona APIs a otras aplicaciones (por ejemplo, clientes de mensajería, librerías de seguridad o apps de sistema), minimizar su congelación durante los updates ayuda a que la cadena completa de apps siga funcionando con normalidad.

Este avance también es especialmente interesante para los dispositivos de gama de entrada o gama media baja, donde el hardware sufre más para manejar instalaciones grandes. Google no solo reorganiza procesos locales, sino que enlaza esta mejora con otra función crucial de Android 16: la compilación en la nube para acelerar la instalación de nuevas apps, algo que marca un antes y un después en móviles poco potentes.

Compilación en la nube: apps que se instalan más rápido gracias a la nube​


Además de agilizar las actualizaciones, Android 16 incorpora una función centrada en la instalación inicial de aplicaciones y juegos, especialmente en dispositivos modestos. Esta característica se conoce como compilación en la nube (cloud compilation) y su misión es clara: trasladar a los servidores de Google parte del trabajo pesado que antes recaía por completo en el procesador y el almacenamiento del teléfono.

Cuando instalas una app en Android, el sistema usa ART para ejecutar su código. Durante la instalación, la herramienta dex2oat toma los archivos .dex del APK, donde va el código compilado, y genera varios “artefactos de aplicación”. Estos artefactos ayudan a que la app se abra y se ejecute de forma más rápida y eficiente, y pueden presentarse en distintos formatos: archivos .vdex con metadatos para validar el bytecode, archivos .odex con código precompilado para métodos concretos o archivos .art con representaciones internas de cadenas y clases que aceleran el arranque de la app.

En los móviles más potentes, generar estos artefactos es algo relativamente rápido, casi transparente. Pero en teléfonos baratos, con procesadores flojos y memorias de baja velocidad, ese proceso puede convertirse en un cuello de botella, especialmente si el APK incluye muchos archivos .dex o se trata de un juego o app muy grande.

La propuesta de Android 16 es sencilla pero efectiva: en lugar de generar todos esos artefactos en el dispositivo, descargarlos ya precompilados desde Google Play. A día de hoy, la mayoría de usuarios dispone de conexiones móviles y Wi‑Fi razonablemente rápidas, así que en muchos casos es más eficiente tirar de red que obligar al procesador del teléfono a trabajar durante varios segundos o incluso minutos.

SDM y artefactos precompilados: el papel de Secure Dex Metadata​


La compilación en la nube de Android 16 se apoya en un nuevo tipo de archivo: SDM, siglas de Secure Dex Metadata. Estos archivos SDM, descargados junto al APK desde la Play Store, contienen los artefactos de aplicación ya generados en la infraestructura de Google usando dex2oat, de manera que el dispositivo no tiene que repetir ese trabajo localmente.

Un detalle importante es que los archivos SDM van firmados con la misma clave que el APK. Esto permite al sistema comprobar que los artefactos proceden de una fuente confiable y que no se han alterado, garantizando la integridad y la seguridad del proceso. De esta forma, el teléfono puede instalar la aplicación aprovechando directamente esos artefactos precompilados, acelerando notablemente la instalación inicial, sobre todo en hardware de gama baja.

En la práctica, esto significa que Android 16 puede evitar ejecutar dex2oat durante la instalación en muchos casos, ya que el trabajo duro se ha hecho antes, en los servidores de Google. El resultado: menos carga para el procesador, menos consumo de energía durante la instalación y tiempos de espera más cortos cuando descargas apps pesadas o juegos con grandes cantidades de código.

Eso sí, todo este sistema requiere que Google configure la Play Store para generar y distribuir estos SDM de forma masiva. En las primeras fases, la función puede estar presente en el sistema pero no totalmente activa, precisamente porque hace falta ajustar la infraestructura de compilación en la nube y desplegarla gradualmente. No esperes milagros inmediatos en todos los dispositivos compatibles; la adopción será progresiva.

Relación entre actualizaciones rápidas y compilación en la nube​


Aunque puedan parecer dos cosas separadas, las actualizaciones sin interrupciones y la compilación en la nube están muy relacionadas porque ambas giran alrededor de cómo y cuándo se generan y se aplican los artefactos de ejecución de las apps. Por un lado, Android 16 adelanta la ejecución de dexopt y dex2oat a fases menos críticas del proceso de actualización, reduciendo al mínimo el tiempo que la app permanece congelada.

Por otro lado, la compilación en la nube permite que ese trabajo ni siquiera tenga que hacerse en el dispositivo en muchos casos, ya sea durante la primera instalación o en determinadas actualizaciones. Al descargar artefactos listos para usar, la combinación de ambos enfoques consigue que tanto la instalación inicial como los updates posteriores sean más rápidos y menos intrusivos.

Todo esto encaja con un objetivo de fondo: optimizar Android para que se comporte de forma fluida incluso en hardware modesto, reduciendo al mismo tiempo los tiempos muertos y mitigando los efectos colaterales que las actualizaciones pueden tener sobre otras apps y servicios.

Otros cambios de Android 16 que influyen en rendimiento y experiencia​


Las mejoras en actualizaciones e instalaciones no llegan solas. Android 16 incluye una larga lista de cambios de comportamiento que afectan tanto a las apps que se orientan a la nueva versión (targetSdkVersion 36) como al propio sistema operativo. Muchos de ellos no tienen que ver directamente con las actualizaciones de apps, pero sí influyen en la estabilidad, el rendimiento o la coherencia de la experiencia.

En la parte de experiencia de usuario y diseño, Android 16 consolida la apuesta por las interfaces de borde a borde eliminando la opción que permitía desactivar este modo mediante el atributo windowOptOutEdgeToEdgeEnforcement en apps orientadas al nuevo nivel de API. Si una app apunta a Android 16 y se ejecuta en un dispositivo con esta versión, ya no podrá inhabilitar ese comportamiento, de modo que los desarrolladores deben adaptar sus diseños para funcionar correctamente a pantalla completa.

También hay cambios importantes en la navegación: el gesto de atrás predictivo se vuelve la norma para las apps que se dirigen a Android 16. En dispositivos con esta versión, ya no se invoca onBackPressed ni se envía la tecla KEYCODE_BACK como antes; las animaciones del sistema se encargan de indicar al usuario hacia dónde va a ir al deslizar hacia atrás (inicio, actividad previa, etc.). Los desarrolladores que capturaban el botón atrás deben migrar a las nuevas APIs de navegación o, como solución temporal, desactivar el comportamiento con el atributo android:enableOnBackInvokedCallback=false en el manifiesto.

Cambios técnicos clave para desarrolladores​


Más allá de la experiencia visual, Android 16 introduce ajustes en el funcionamiento interno de tareas programadas, tipografías y diseños adaptables. Por ejemplo, el método scheduleAtFixedRate cambia de comportamiento: en vez de ejecutar todas las ejecuciones perdidas cuando una app vuelve a un ciclo de vida válido, solo se dispara una de ellas. Esto ayuda a evitar picos de trabajo repentino y mejora el rendimiento general, aunque los desarrolladores deben comprobar si su lógica se ve afectada.

En cuanto a texto y fuentes, el atributo elegantTextHeight deja de tener efecto en apps orientadas a Android 16. Las llamadas “fuentes elegantes” se descontinúan, por lo que es necesario prever un diseño tipográfico coherente para idiomas como árabe, tailandés, tamil o varios alfabetos indios sin depender de este ajuste automático.

En dispositivos con pantallas grandes (tablets, plegables, escritorios, coches, TVs…), Android 16 fuerza todavía más la idea de diseños adaptables. En pantallas con un ancho mínimo de 600 dp, se ignoran restricciones de orientación, cambio de tamaño y relación de aspecto declaradas en el manifiesto, lo que significa que la app se expandirá para ocupar toda la ventana, sin pillarboxing ni bloqueos forzados a vertical u horizontal. Solo los juegos, algunas excepciones configuradas por el usuario y pantallas más pequeñas quedan fuera de esta norma.

Hay una vía de escape temporal: se puede declarar la propiedad android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY a nivel de actividad o aplicación para mantener el comportamiento antiguo en pantallas grandes. Pero esta salida desaparecerá en futuras versiones (nivel de API 37), por lo que conviene ir adaptando las interfaces desde ya.

Novedades en salud, conectividad y seguridad​


Android 16 también refuerza los controles sobre datos de salud y actividad física. Los permisos BODY_SENSORS y BODY_SENSORS_BACKGROUND se sustituyen por permisos más específicos bajo el espacio android.permissions.health, alineados con Health Connect. Las apps que lean datos sensibles como frecuencia cardiaca deben solicitar permisos granulares como READ_HEART_RATE y contar con una actividad visible para mostrar su política de privacidad, o se arriesgan a que el sistema revoque esos permisos.

En el terreno de Bluetooth, se introducen nuevos intents, como ACTION_KEY_MISSING y ACTION_ENCRYPTION_CHANGE, para manejar mejor la pérdida de vinculación y cambios en el cifrado. Las apps que gestionen dispositivos emparejados pueden reaccionar de forma más fina cuando se pierden claves, cuando el enlace se recifra o cuando cambian los parámetros de seguridad, adaptándose además a posibles diferencias entre fabricantes.

Además, todas las apps orientadas a Android 16 pueden ahora eliminar la vinculación Bluetooth de dispositivos asociados mediante una API pública en CompanionDeviceManager. La llamada removeBond(int) permite revocar la vinculación Bluetooth ligada a una asociación de CDM, y la app puede escuchar ACTION_BOND_STATE_CHANGED para seguir los cambios en el estado de emparejamiento.

En materia de seguridad, Android 16 sigue endureciendo el sistema. MediaStore#getVersion() pasa a devolver un valor único por app, lo que impide usar esa cadena como mecanismo de huella digital entre aplicaciones. También avanza la iniciativa “Intents más seguros”, que busca blindar el sistema de resolución de intents: cuando se activa mediante el atributo intentMatchingFlags, se exige que los intents explícitos coincidan con el filtro del componente destino y se impide que intents sin acción se casen con filtros, salvo que se utilicen marcas específicas como allowNullAction.

Este control más estricto se puede habilitar a nivel de aplicación o componente (activity, service, receiver…), con banderas como enforceIntentFilter o none, y viene acompañado de mensajes de log para depurar intents bloqueados. La idea es ir transicionando progresivamente hacia un modelo donde, en futuras versiones, esta resolución estricta sea el comportamiento por defecto.

Protecciones adicionales: GPU Mali, red local y fotos​


Otro frente de seguridad donde Android 16 aprieta es en el acceso a la GPU Mali en dispositivos Pixel. Se bloquean IOCTL antiguos o pensados solo para desarrollo y se restringen los de perfilado a procesos de shell o apps depurables. Esto no debería afectar a apps normales ni a APIs gráficas estándar como Vulkan u OpenGL, ni a herramientas de perfilado oficiales, pero sí limita posibles vectores de ataque a nivel de kernel. Si una app intenta usar IOCTL prohibidos, el sistema genera denegaciones SELinux y Google recomienda informar del caso a los canales de seguridad correspondientes.

En el área de privacidad, Android 16 da un paso muy relevante con las Protecciones de red local (Local Network Protections). Hoy en día, cualquier app con permiso INTERNET puede tocar dispositivos en la LAN, lo que abre la puerta a técnicas de fingerprinting o a usar la red local como proxy de ubicación. El nuevo enfoque coloca ese acceso detrás de un permiso de tiempo de ejecución específico dentro del grupo de dispositivos cercanos.

El despliegue es gradual, con una fase de habilitación (25Q2) en la que las apps pueden activar las restricciones a través del marco de compatibilidad y probar sus casos de uso. Cuando se activa la marca RESTRICT_LOCAL_NETWORK para un paquete, el tráfico hacia y desde direcciones de red locales (unicast, multicast o broadcast en TCP y UDP) genera errores si la app no cuenta con los permisos adecuados, mientras que el tráfico de Internet normal sigue funcionando.

En esta fase inicial, para recuperar el acceso a la LAN basta con que la app declare y obtenga el permiso NEARBY_WIFI_DEVICES, aunque en el futuro se introducirá un permiso específico dentro del grupo de dispositivos cercanos. Se consideran “locales” redes como 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, enlaces locales 169.254.0.0/16, rangos CGNAT 100.64.0.0/10 y direcciones multicast (224.0.0.0/4, ff00::/8), entre otras.

Por último, Android 16 ajusta la gestión del acceso a fotos y vídeos. Cuando una app orientada al SDK 36 solicita permisos de contenido multimedia en un dispositivo con Android 16 y el usuario decide otorgar acceso solo a elementos seleccionados, las fotos y vídeos generados por esa propia app aparecerán preseleccionados en el selector de fotos. El usuario puede desmarcarlos si lo desea, lo que revoca el acceso a esos elementos específicos para la aplicación.

Todo este conjunto de cambios —actualizaciones casi instantáneas, compilación en la nube, nuevos permisos, mayor control en intents, seguridad reforzada en GPU y red local, y mejoras en salud, conectividad y diseño adaptable— apunta a un mismo objetivo: convertir Android 16 en una plataforma más fluida, predecible y segura tanto para usuarios como para desarrolladores.

A medida que más modelos de marcas como Samsung, Xiaomi, Motorola, OnePlus y, por supuesto, los Pixel vayan recibiendo esta versión, será cada vez más común que instalar o actualizar una app deje de ser un momento de “cruzar los dedos” para convertirse en un simple trámite que apenas notas mientras sigues usando el móvil con normalidad. Comparte esta información para que otros usuarios estén al tanto de las novedades de Android 16.

Continúar leyendo...