Sortie de la plateforme mobile Android 12

La société Google a publié une version de la plateforme mobile ouverte Android 12. Les codes sources associés à cette nouvelle version sont disponibles dans le dépôt Git du projet (branche android-12.0.0_r1). Des mises à jour du firmware ont été préparées pour les appareils de la série Pixel, ainsi que pour les smartphones des marques Samsung Galaxy, OnePlus, Oppo, Realme, Tecno, Vivo et Xiaomi. De plus, des builds universelles GSI (Generic System Images) ont été créées, adaptées à différents appareils basés sur les architectures ARM64 et x86_64.

Les principales nouveautés :

  • Une des mises à jour les plus significatives de l'interface utilisateur de l'histoire du projet a été proposée. Le nouveau design met en œuvre le concept « Material You », présenté comme une variante de Material Design de nouvelle génération. Ce nouveau concept sera automatiquement appliqué à toutes les plateformes et éléments de l'interface, sans nécessiter de modifications de la part des développeurs d'applications. En juillet, les développeurs d'applications devraient recevoir la première version stable du nouvel outil de développement d'interfaces graphiques : Jetpack Compose.
    Sortie de la plateforme mobile Android 12

    La plateforme met en avant un nouveau design pour les widgets. Les widgets sont devenus plus visibles, les coins sont davantage arrondis, et il est possible d'utiliser des couleurs dynamiques correspondant au thème systémique. Des éléments de contrôle interactifs ont été ajoutés, tels que des cases à cocher et des interrupteurs (CheckBox, Switch et RadioButton), permettant par exemple de modifier des listes de tâches dans le widget TODO sans ouvrir l'application.

    Sortie de la plateforme mobile Android 12

    Une transition visuelle plus fluide vers les applications lancées à partir des widgets a été mise en œuvre. La personnalisation des widgets a été simplifiée — un bouton (cercle avec un crayon) pour une reconfiguration rapide de la position du widget à l'écran apparaît lors d'un appui long sur le widget.

    Sortie de la plateforme mobile Android 12 Sortie de la plateforme mobile Android 12

    Des modes supplémentaires de limitation de la taille des widgets ont été fournis, ainsi que la possibilité d'utiliser une mise en page réactive (responsive layout) pour créer des mises en page standards qui changent en fonction de la taille de la zone visible (par exemple, il est possible de créer des mises en page distinctes pour les tablettes et les smartphones). Dans l'interface de sélection des widgets (widget picker), un aperçu dynamique a été implémenté, ainsi que la possibilité d'afficher la description du widget.

    Sortie de la plateforme mobile Android 12
  • Ajout de la possibilité d'adaptation automatique de la palette système à la couleur du fond d'écran sélectionné : le système détermine automatiquement les couleurs dominantes, ajuste la palette actuelle et applique les modifications à tous les éléments de l'interface, y compris la zone de notification, l'écran de verrouillage, les widgets et le régulateur de volume.
  • Mise en œuvre de nouveaux effets animés, tels que le zoom progressif et le déplacement en douceur des zones lors du défilement, de l'apparition et du déplacement des éléments à l'écran. Par exemple, lors de l'annulation d'une notification sur l'écran de verrouillage, l'indicateur de temps s'agrandit automatiquement et occupe l'espace précédemment occupé par la notification.
  • Redesign de la zone déroulante avec notifications et paramètres rapides. Parmi les paramètres rapides, ajout d'options pour Google Pay et la gestion de la maison intelligente. En maintenant le bouton d'alimentation, il est possible d'invoquer Google Assistant, à qui l'on peut donner des instructions pour passer un appel, lancer une application ou lire à voix haute un article. Les notifications avec contenu donné par l'application ont été harmonisées.
    Sortie de la plateforme mobile Android 12
  • Ajout d'un effet d'étirement des bords de défilement (Stretch overscroll), pour indiquer que l'utilisateur a dépassé la zone de défilement et a atteint la fin du contenu. Le contenu apparaît comme s'il était étiré et rebondit en arrière avec le nouvel effet. Le nouveau mode d'indication de fin de défilement est activé par défaut, mais une option dans les paramètres permet de revenir au comportement précédent.
  • Interface optimisée pour les appareils à écran pliable.
    Sortie de la plateforme mobile Android 12
  • Transitions sonores plus fluides mises en œuvre : lors du passage d'une application diffusant du son à une autre, le son de la première application diminue progressivement tandis que celui de la seconde augmente lentement, sans chevauchement sonore.
  • Modernisation de l'interface de gestion des connexions réseau dans le bloc des paramètres rapides, la barre des tâches et le configurateur système. Ajout d'un nouveau panneau Internet, permettant de basculer rapidement entre différents fournisseurs et de diagnostiquer les problèmes.
    Sortie de la plateforme mobile Android 12
  • Ajout de la possibilité de créer des captures d'écran englobant non seulement la zone visible, mais aussi le contenu dans la zone défilable. La possibilité d'enregistrer le contenu en dehors de la zone visible fonctionne pour toutes les applications utilisant la classe View pour l'affichage. Un API ScrollCapture a été proposé pour mettre en œuvre la prise en charge des captures d'écran défilables dans les programmes utilisant des interfaces spécifiques.
    Sortie de la plateforme mobile Android 12
  • La fonction de rotation automatique du contenu de l'écran a été améliorée, elle peut désormais utiliser la reconnaissance faciale de la caméra frontale pour déterminer si l'écran doit être tourné, par exemple, lorsque la personne utilise le téléphone en étant allongée. Pour protéger la confidentialité, les informations sont traitées en temps réel sans stockage intermédiaire des images. Cette fonctionnalité est actuellement disponible uniquement sur les smartphones Pixel 4 et modèles plus récents.
  • Le mode 'image dans l'image' (PIP, Picture in Picture) a été amélioré et la fluidité des effets de transition a été augmentée. Si le passage automatique en PIP est activé lors du geste up-to-home (glissement du bas de l'écran vers le haut), l'application passe immédiatement au mode PIP sans attendre la fin de l'animation. Lredimensionnement des fenêtres PIP avec un contenu différent de la vidéo a été amélioré. Il est désormais possible de cacher la fenêtre PIP en la déplaçant vers le bord gauche ou droit de l'écran. Le comportement lors du toucher de la fenêtre PIP a été modifié : un tapotement affichera désormais les boutons de contrôle, tandis qu'un double tapotement changera la taille de la fenêtre.
  • Optimisations des performances :
    • Une optimisation significative des performances du système a été réalisée - la charge sur le CPU des principaux services système a diminué de 22 %, ce qui a conduit à une augmentation de l'autonomie de 15 %. Grâce à la réduction de la concurrence des verrous, à la réduction des latences et à l'optimisation de l'entrée/sortie, les performances de transition d'une application à une autre ont été améliorées et le temps de lancement des applications a été réduit.

      Dans le PackageManager, lors de l'utilisation de snapshots en mode lecture seule, la concurrence sur les verrous a diminué de 92 %. Un cache léger a été appliqué dans le mécanisme d'interaction entre processus Binder, ce qui a permis de réduire les latences jusqu'à 47 fois pour certains types d'appels. La performance du traitement des fichiers dex, odex et vdex a été améliorée, ce qui a entraîné une réduction du temps de chargement des applications, notamment sur les appareils avec peu de mémoire. Le lancement des applications à partir des notifications, par exemple, le lancement de Google Photos à partir d'une notification, est désormais 34 % plus rapide.

      La performance des requêtes à la base de données a été améliorée grâce à des optimisations inline lors de l'opération CursorWindow. Pour de petits volumes de données, CursorWindow est devenu plus rapide de 36 %, et pour des ensembles contenant plus de 1000 lignes, l'accélération peut atteindre 49 fois.

      Des critères de classification des appareils en fonction de leur performance ont été proposés. Selon les capacités de l'appareil, une classe de performance est attribuée, qui peut ensuite être utilisée dans les applications pour limiter les fonctionnalités des codecs sur des appareils peu puissants ou pour travailler avec du contenu multimédia de meilleure qualité sur du matériel puissant.

    • Un mode d'hibernation des applications a été mis en œuvre, permettant de révoquer automatiquement les autorisations précédemment accordées à une application si l'utilisateur n'a pas interagi explicitement avec celle-ci depuis longtemps, de stopper son exécution, de récupérer les ressources utilisées par l'application, telles que la mémoire, et de bloquer le lancement de tâches en arrière-plan et l'envoi de notifications push. Ce mode peut être appliqué à la plupart des applications et permet de protéger les données de l'utilisateur auxquelles des programmes oubliés continuent d'accéder. Si désiré, le mode d'hibernation peut être désactivé sélectivement dans les paramètres.
    • L'animation lors de la rotation de l'écran a été optimisée, ce qui a permis de réduire le retard avant la rotation d'environ 25 %.
    • Un nouveau moteur de recherche haute performance, AppSearch, a été intégré, permettant d'indexer des informations sur l'appareil et d'effectuer des recherches en texte intégral avec un classement des résultats. AppSearch fournit deux types d'index — pour organiser la recherche dans des applications spécifiques et pour la recherche dans l'ensemble du système.
    • Ajout d'une API Game Mode et des paramètres correspondants permettant de gérer le profil de performance du jeu — par exemple, il est possible de sacrifier les performances pour prolonger l'autonomie ou d'utiliser toutes les ressources disponibles pour atteindre un maximum de FPS.
    • Ajout de la fonction play-as-you-download permettant de télécharger des ressources de jeu en arrière-plan pendant l'installation, ce qui permet de commencer à jouer avant la fin du téléchargement de l'application.
    • Amélioration de la réactivité et de la vitesse de réponse lors de la gestion des notifications. Par exemple, lorsqu'un utilisateur touche une notification, il y a maintenant un passage instantané à l'application associée. L'utilisation d'intermédiaires pour le traitement des notifications (notification trampoline) est limitée dans les applications.
    • Optimisation des appels IPC dans Binder. Grâce à une nouvelle stratégie de mise en cache et à l'élimination des conflits lors des blocages, il a été possible de réduire considérablement les temps de latence. Globalement, la performance des appels Binder a été multipliée par deux, mais dans certaines zones, les améliorations ont été encore plus significatives. Par exemple, l'appel refContentProvider() est devenu 47 fois plus rapide, releaseWakeLock() 15 fois plus rapide, et JobScheduler.schedule() 7,9 fois plus rapide.
    • Afin d'éviter les problèmes de performance, les applications sont interdites de démarrer des services prioritaires (foreground service) pendant qu'elles fonctionnent en arrière-plan, sauf dans quelques cas spécifiques. Il est recommandé d'utiliser WorkManager pour exécuter des tâches en arrière-plan. Pour simplifier la transition, un nouveau type de tâches a été proposé dans JobScheduler, qui se lance immédiatement, a une priorité élevée et un accès réseau.
  • Modifications affectant la sécurité et la confidentialité:
    • Mise en œuvre de l'interface Privacy Dashboard offrant un aperçu des paramètres de confidentialité, permettant de comprendre quelles données des utilisateurs les applications peuvent accéder. L'interface comprend également un graphique temporel visualisant l'historique d'accès des applications au microphone, à la caméra et aux données de localisation. Pour chaque application, il est possible de consulter les détails et les raisons de l'accès aux données de confidentialité.
      Sortie de la plateforme mobile Android 12
    • Des indicateurs d'activité du microphone et de la caméra ont été ajoutés au panneau, apparaissant lorsque l'application accède à la caméra ou au microphone. En cliquant sur les indicateurs, une boîte de dialogue s'ouvre avec les paramètres, permettant de déterminer quelle application utilise la caméra ou le microphone, et de révoquer les autorisations si nécessaire.
    • Des interrupteurs ont été ajoutés au bloc contextuel des paramètres rapides, permettant de désactiver de force le microphone et la caméra. Une fois désactivés, toute tentative d'accès à la caméra et au microphone entraînera l'affichage d'une notification et l'envoi de données vides à l'application.
      Sortie de la plateforme mobile Android 12
    • Une nouvelle notification a été ajoutée, s'affichant en bas de l'écran chaque fois qu'une application tente de lire le contenu du presse-papiers via l'appel à la fonction getPrimaryClip(). Si le contenu du presse-papiers est copié dans la même application où il a été ajouté, la notification ne s'affiche pas.
    • Une autorisation distincte BLUETOOTH_SCAN a été ajoutée pour scanner les appareils Bluetooth à proximité. Auparavant, cette possibilité était fournie uniquement avec l'accès aux informations de localisation de l'appareil, ce qui entraînait la nécessité de fournir des autorisations supplémentaires aux applications nécessitant un couplage avec un autre appareil via Bluetooth.
    • Le dialogue pour accorder l'accès aux informations de localisation de l'appareil a été modernisé. L'utilisateur a désormais la possibilité de transmettre des informations précises sur sa localisation à l'application ou de fournir uniquement des données approximatives, ainsi que de restreindre l'action des autorisations uniquement à la session active de l'application (interdiction d'accès lorsque l'application est en arrière-plan). Le niveau de précision des données fournies lors de la sélection d'une localisation approximative peut être modifié dans les paramètres, y compris pour des applications spécifiques.
      Sortie de la plateforme mobile Android 12
    • Les développeurs d'applications ont maintenant la possibilité de désactiver les fenêtres contextuelles qui masquent le contenu. Auparavant, la possibilité d'afficher de telles fenêtres était régie par une demande d'autorisation, confirmée lors de l'installation des applications affichant ces fenêtres. Il n'y avait pas d'outils permettant d'influencer le masquage du contenu des applications concernées. Avec l'appel à Window#setHideOverlayWindows(), toutes les fenêtres masquant le contenu seront désormais automatiquement cachées. Par exemple, cela peut être utile lors de l'affichage d'informations critiques, comme une confirmation de transaction.
    • Les applications disposent désormais de paramètres supplémentaires pour limiter les opérations sur les notifications lorsqu'un écran est verrouillé. Auparavant, il n'était possible que de gérer la visibilité des notifications pendant le verrouillage de l'écran. Désormais, il est possible d'exiger une authentification pour toute action sur les notifications pendant cette période. Par exemple, une application de messagerie peut demander une authentification avant de supprimer un message ou de le marquer comme lu.
    • L'API PackageManager.requestChecksums() a été ajoutée pour demander et vérifier la somme de contrôle d'une application installée. Les algorithmes pris en charge incluent SHA256, SHA512 et Merkle Root.
    • Le moteur WebView prend désormais en charge l'utilisation de l'attribut SameSite pour gérer le traitement des cookies. La valeur « SameSite=Lax » limite l'envoi des cookies pour les sous-requêtes inter-sites, telles que les demandes d'images ou le chargement de contenu via un iframe provenant d'un autre site. En mode « SameSite=Strict », les cookies ne sont pas envoyés pour tout type de requêtes inter-sites, y compris tous les liens entrants depuis des sites externes.
    • Les travaux de randomisation des adresses MAC se poursuivent pour éviter le suivi des appareils lors de la connexion à un réseau sans fil. L'accès à l'adresse MAC de l'appareil est limité pour les applications non privilégiées, et lors de l'appel de la fonction getHardwareAddress(), une valeur vide est désormais renvoyée.
  • Modifications et améliorations de bas niveau pour les développeurs d'applications :
    • La possibilité d'adapter les éléments de l'interface aux appareils avec des écrans arrondis a été ajoutée. Les développeurs peuvent désormais obtenir des informations sur les arrondis de l'écran et ajuster les éléments de l'interface situés dans les zones angulaires invisibles. Grâce à la nouvelle API RoundedCorner, il est possible de connaître des paramètres comme le rayon et le centre de l'arrondi, tandis que Display.getRoundedCorner() et WindowInsets.getRoundedCorner() permettent de déterminer les coordonnées de chaque coin arrondi de l'écran.
      Sortie de la plateforme mobile Android 12
    • Une nouvelle API CompanionDeviceService a été ajoutée, permettant d'activer les applications qui gèrent les appareils associés, tels que les montres connectées et les traqueurs de fitness. Cette API résout le problème de lancement et de connexion des applications nécessaires lorsqu'un appareil associé apparaît à proximité. Le système active le service lorsque l'appareil est à portée et envoie une notification lors de la déconnexion de l'appareil ou lors de son entrée ou sortie de la zone de visibilité. Les applications peuvent également utiliser le nouveau profil des appareils associés pour simplifier la configuration des autorisations pour se connecter à l'appareil.
    • Le système de prévision de la bande passante a été amélioré. Les applications peuvent désormais demander des informations sur la bande passante totale prévue en fonction de l'opérateur, d'un réseau sans fil spécifique (SSID Wi-Fi), du type de réseau et du niveau de signal.
    • L'application des effets visuels standards, tels que le flou et la distorsion des couleurs, a été simplifiée. Ils peuvent désormais être appliqués à tout objet RenderNode ou à l'ensemble de la zone visible, y compris en chaîne avec d'autres effets, grâce à l'API RenderEffect. Cette fonctionnalité, par exemple, permet de flouter une image affichée via ImageView sans avoir besoin de copier, traiter et remplacer explicitement le bitmap, laissant ces actions à la plateforme. De plus, une API Window.setBackgroundBlurRadius() a été proposée, permettant de flouter l'arrière-plan d'une fenêtre avec un effet de verre dépoli et de mettre en évidence la profondeur en floutant l'espace environnant la fenêtre.
      Sortie de la plateforme mobile Android 12
    • Des outils intégrés pour le transcodage des flux multimédias ont été intégrés, pouvant être utilisés dans des environnements avec une application de caméra enregistrant en format HEVC, afin d'assurer la compatibilité avec les applications ne supportant pas ce format. Pour ces applications, une fonction de transcodage automatique vers un format plus courant, l'AVC, a été ajoutée.
    • La prise en charge du format d'image AVIF (AV1 Image Format) a été ajoutée, qui utilise des technologies de compression intra-image issues du format de codage vidéo AV1. Le conteneur pour la distribution des données compressées en AVIF est complètement équivalent à celui du HEIF. L'AVIF prend en charge à la fois des images en HDR (High Dynamic Range) et dans un espace colorimétrique de large gamme, ainsi que dans un drapeau dynamique standard (SDR).
    • Un API unifié OnReceiveContentListener a été proposé pour l'insertion et le déplacement entre les applications de contenu enrichi (texte formaté, images, vidéos, fichiers audio, etc.), en utilisant diverses sources de données, y compris le presse-papiers, le clavier et l'interface drag & drop.
    • Un effet de rétroaction haptique, réalisable à l'aide d'un vibreur intégré dans les téléphones, a été ajouté, dont la fréquence et l'intensité de la vibration dépendent des paramètres du son diffusé à ce moment-là. Cet effet nouveau permet de ressentir physiquement le son et peut être utilisé pour ajouter un réalisme supplémentaire aux jeux et aux programmes audio.
    • En mode immersion (Immersive mode), où le programme s'affiche en plein écran en cachant les panneaux d'outils, la navigation a été simplifiée par des gestes de contrôle. Par exemple, dans les programmes de lecture de livres, de visionnage de vidéos et de gestion de photos, il est désormais possible de se déplacer en utilisant un seul geste de balayage.
    • Dans le cadre du projet Mainline, permettant de mettre à jour des composants système individuels sans mettre à jour la plateforme entière, de nouveaux modules système mis à jour ont été préparés en complément des 22 modules disponibles dans Android 11. Les mises à jour concernent des composants non associés au matériel, qui sont téléchargés via Google Play indépendamment des mises à jour OTA du firmware du fabricant. Parmi les nouveaux modules pouvant être mis à jour via Google Play sans mise à jour du firmware figurent ART (Android Runtime) et un module pour le transcodage vidéo.
    • L'API a été ajoutée à la classe WindowInsets pour déterminer la position d'affichage des indicateurs d'utilisation de la caméra et du microphone (ces indicateurs peuvent recouvrir les contrôles dans les applications en plein écran, et via cet API, l'application peut ajuster son interface).
    • Pour les appareils gérés de manière centralisée, une fonctionnalité a été ajoutée pour interdire l'utilisation des commutateurs pour désactiver le microphone et la caméra.
    • Pour les applications CDM (Companion Device Manager) exécutées en arrière-plan, qui gèrent les dispositifs associés, tels que les montres intelligentes et les trackers de fitness, la possibilité de lancer des services actifs (au premier plan) a été fournie.
    • Au lieu de l'édition pour les appareils portables Android Wear, un partenariat avec Samsung a conduit au développement d'une nouvelle plateforme unifiée, combinant les capacités d'Android et de Tizen.
    • Les capacités des éditions Android pour les systèmes d'information et de divertissement automobiles et les téléviseurs intelligents ont été élargies.

    Source : opennet.ru

  • Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster