Google ha presentado la primera versión beta de la plataforma móvil abierta Android 17. Se ha propuesto un programa de prueba previa para evaluar las nuevas capacidades de la plataforma. Las compilaciones del firmware están preparadas para dispositivos Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9a/9 Pro/9 Pro XL/9 Pro Fold, Pixel 10/10 Pro/10 Pro XL/10 Pro Fold, Pixel Fold y Pixel Tablet. El lanzamiento de Android 17 está programado para el segundo trimestre de 2026.
Entre los cambios en Android 17 Beta 1:
- Se ha continuado el desarrollo de la plataforma para dispositivos con pantallas grandes, tales como tabletas, laptops, sistemas de escritorio y smartphones con pantallas plegables. Se han eliminado las opciones anteriores para desactivar el nuevo comportamiento en dispositivos con pantallas de más de 600 píxeles condicionales de ancho (dp), relacionadas con la ignorancia de ciertas API para gestionar el cambio de tamaño y orientación de pantalla (screenOrientation, resizeableActivity, [min|max]AspectRatio), así como la colocación adaptativa de aplicaciones en ventanas que permiten el cambio de tamaño y el movimiento por la pantalla.


- Se ha propuesto una nueva implementación de la cola de mensajes android.os.MessageQueue, que funciona sin bloqueos. La nueva implementación permite aumentar el rendimiento y reducir la pérdida de fotogramas.
- En el Android Runtime (ART) se ha implementado un recolector de basura generacional (Generational Concurrent Mark-Compact Garbage Collector), que utiliza el procesamiento separado de objetos 'viejos' y 'jóvenes', aumentando la eficiencia en la limpieza de objetos recién creados con un tiempo de vida corto. La aplicación del recolector de basura generacional reduce el riesgo de pausas durante la asignación de recursos y disminuye la carga en la CPU, mejorando la eficiencia del consumo de energía.
- A las aplicaciones que declaren soporte para Android 17 y versiones más nuevas se les prohíbe modificar los valores de los campos marcados como 'static final', lo que permite realizar optimizaciones de rendimiento más agresivas en tiempo de ejecución.
- Para reducir el consumo de memoria, se ha limitado el tamaño de los propios diseños de las vistas de notificación (notification view).
- Se han añadido triggers adicionales TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM y TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE al perfilador ProfilingManager para recopilar datos útiles al depurar problemas de rendimiento.
- Se han ampliado las capacidades de las interfaces de programación para trabajar con la cámara. Se ha agregado el método updateOutputConfigurations() al objeto CameraCaptureSession para adjuntar o desconectar áreas de salida sobre la marcha sin necesidad de reconfigurar toda la sesión de captura de datos de la cámara. En la práctica, este cambio permite realizar un cambio fluido entre diferentes modos de operación de la cámara (por ejemplo, grabación de video y toma de fotografías). Al trabajar con cámaras lógicas que abarcan varios sensores físicos, se ha añadido la capacidad de obtener metadatos de cada sensor, y no solo del primario.
- Se ha añadido soporte para el formato de video VVC (Versatile Video Coding), también conocido como el estándar de compresión de video H.266, desarrollado conjuntamente por los grupos de trabajo MPEG (ISO/IEC JTC 1) y VCEG (ITU-T), con la participación de empresas como Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm y Sony. H.266 reemplaza a H.265 (HEVC) y proporciona una alta eficiencia en la transmisión y almacenamiento de todas las resoluciones de pantalla (desde SD y HD hasta 4K y 8K), admite video con rango dinámico ampliado (HDR, High Dynamic Range) y video panorámico en 360 grados.
- Se ha añadido la posibilidad de grabar video con un nivel de calidad constante. Este modo se configura en el objeto MediaRecorder, utilizando el método setVideoEncodingQuality(), que permite fijar el nivel de calidad sin vincularlo a la tasa de bits.
- Para aplicaciones que funcionan en segundo plano, se ha limitado el acceso a la API para la reproducción de sonido, la conexión a dispositivos de audio y el cambio de volumen. Se asume que solo las aplicaciones activas con las que el usuario está interactuando en ese momento pueden iniciar la reproducción y cambiar el volumen.
- Se ha declarado obsoleto el atributo android:usesCleartextTraffic, que permitía a la aplicación transmitir tráfico no cifrado, por ejemplo, solicitudes a través de "http://". Si es necesario utilizar tráfico no cifrado, se deben utilizar archivos separados con configuraciones de seguridad.
- Se ha añadido soporte para el cifrado híbrido basado en el mecanismo HPKE (Hybrid Public Key Encryption, RFC 9180), que combina la simplicidad de transmisión de claves en el cifrado de clave pública con alto rendimiento cifrado simétrico (los datos se cifran con una clave simétrica rápida, y la clave misma se cifra con un cifrado asimétrico lento).
- Se añadieron configuraciones para gestionar el historial de llamadas VoIP, permitiendo controlar la conservación de información en los registros y la visualización de información sobre las llamadas realizadas en la interfaz.
- Se han ampliado las capacidades de la API Wi-Fi RTT (Round-Trip-Time) para la localización continua de la distancia aproximada a los puntos de acceso y la identificación segura de nodos para conexiones P2P (peer-to-peer).
- Se han añadido nuevos perfiles en CompanionDeviceManager para solicitar autorizaciones y la interacción de aplicaciones con dispositivos médicos y rastreadores de fitness.
Fuente: opennet.ru


