La société Google a lancé la première version bêta de la plateforme mobile ouverte Android 17. Pour évaluer les nouvelles fonctionnalités de la plateforme, un programme de test préalable a été proposé. Des versions du firmware ont été préparées pour les appareils 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 et Pixel Tablet. La sortie d'Android 17 est prévue pour le deuxième trimestre de 2026.
Parmi les changements dans Android 17 Beta 1 :
- Le développement de la plateforme pour les dispositifs à grands écrans, tels que les tablettes, les ordinateurs portables, les systèmes de bureau et les smartphones à écrans pliables, a été poursuivi. Les options précédemment en vigueur pour désactiver le nouveau comportement sur les appareils avec des écrans de plus de 600 pixels conditionnels de large (dp), lié à l'ignorance de certaines API pour la gestion du changement de taille et d'orientation d'écran (screenOrientation, resizeableActivity, [min|max]AspectRatio), ainsi qu’à la disposition adaptative des applications dans des fenêtres pouvant être redimensionnées et déplacées à l'écran, ont été supprimées.


- Une nouvelle implémentation de la file de messages android.os.MessageQueue, fonctionnant sans blocage, a été proposée. Cette nouvelle réalisation permet d'améliorer les performances et de réduire la perte de trames.
- Dans l'Android Runtime (ART), un collecteur de déchets générationnel (Generational Concurrent Mark-Compact Garbage Collector) a été implémenté, utilisant un traitement séparé des objets « anciens » et « jeunes », ce qui améliore l'efficacité du nettoyage des objets récemment créés ayant une courte durée de vie. L'utilisation du collecteur de déchets générationnel réduit le risque de suspensions lors de l'allocation de ressources et diminue la charge sur le CPU, ce qui améliore l'efficacité de la consommation d'énergie.
- Aux applications déclarant prendre en charge Android 17 et les versions ultérieures, il est interdit de modifier les valeurs des champs marqués comme « static final », ce qui permet d'appliquer des optimisations de performance plus agressives à l'exécution.
- Pour réduire la consommation de mémoire, la taille des mises en page de notification personnalisées est limitée.
- Des déclencheurs supplémentaires TRIGGER_TYPE_COLD_START, TRIGGER_TYPE_OOM et TRIGGER_TYPE_KILL_EXCESSIVE_CPU_USAGE ont été ajoutés au ProfilingManager pour collecter des données utiles au débogage des problèmes de performance.
- Les capacités des interfaces logicielles pour travailler avec la caméra ont été étendues. La méthode updateOutputConfigurations() a été ajoutée à l'objet CameraCaptureSession pour attacher ou détacher à la volée des zones de sortie sans avoir besoin de reconfigurer l'ensemble de la session de capture de données de la caméra. Dans la pratique, cette modification permet d'effectuer une transition fluide entre différents modes de fonctionnement de la caméra (par exemple, l'enregistrement vidéo et la capture de photos). Lors de l'utilisation de caméras logiques couvrant plusieurs capteurs physiques, une possibilité a été ajoutée pour obtenir des métadonnées sur chaque capteur, et non uniquement sur le primaire.
- Prise en charge ajoutée du format vidéo VVC (Versatile Video Coding), également connu sous le nom de norme de compression vidéo H.266, développée conjointement par les groupes de travail MPEG (ISO/IEC JTC 1) et VCEG (ITU-T), avec la participation d'entreprises telles qu'Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm et Sony. H.266 remplace H.265 (HEVC) et offre une efficacité élevée pour la transmission et le stockage de toutes les résolutions d'écran (de SD et HD à 4K et 8K), prend en charge la vidéo à plage dynamique étendue (HDR, High Dynamic Range) et la vidéo panoramique en mode 360 degrés.
- Possibilité d'enregistrer des vidéos avec un niveau de qualité constant ajoutée. Le mode est configuré dans l'objet MediaRecorder, à l'aide de la méthode setVideoEncodingQuality(), permettant de fixer le niveau de qualité indépendamment du débit binaire.
- Pour les applications fonctionnant en arrière-plan, l'accès à l'API pour la lecture de son, la connexion aux appareils audio et le réglage du volume est limité. Il est sous-entendu que seules les applications actives, avec lesquelles l'utilisateur interagit actuellement, peuvent lancer la lecture et modifier le volume.
- L'attribut android:usesCleartextTraffic, qui permettait à l'application de transmettre un trafic non chiffré, par exemple via «http://», a été déclaré obsolète. Si le trafic non chiffré est nécessaire, il convient d'utiliser des fichiers séparés avec des paramètres de sécurité.
- Un support pour le chiffrement hybride basé sur le mécanisme HPKE (Hybrid Public Key Encryption, RFC 9180) a été ajouté, alliant la simplicité de transmission de la clé dans le chiffrement à clé publique avec une grande performance le chiffrement symétrique (les données sont chiffrées avec une clé symétrique rapide, tandis que la clé elle-même est chiffrée avec un chiffrement asymétrique lent).
- Des paramètres ont été ajoutés pour gérer l'historique des appels VoIP, permettant de contrôler la conservation des informations dans les journaux et d'afficher dans l'interface des détails concernant les appels passés.
- L'API Wi-Fi RTT (Round-Trip-Time) a été étendue pour permettre une détermination continue de la distance approximative aux points d'accès et pour identifier en toute sécurité les nœuds pour les connexions P2P (peer-to-peer).
- De nouveaux profils ont été ajoutés au CompanionDeviceManager pour demander des autorisations et pour interagir avec des dispositifs médicaux et des podomètres.
Source : opennet.ru


