Présentation des fonctionnalités et des API

Android 13 offre aux développeurs de nouvelles fonctionnalités et API de qualité. Les sections ci-dessous vous présentent les nouvelles fonctionnalités disponibles pour vos application et leurs nouvelles API.

Pour obtenir une liste détaillée des nouvelles API, des API modifiées et supprimées, consultez le rapport de différences des API. Pour en savoir plus sur les nouvelles API, consultez la documentation de référence des API Android. Les nouvelles API sont mises en évidence. Pour en savoir plus sur les domaines dans lesquels les modifications de la plate-forme peuvent affecter vos applications, consultez les modifications de comportement d'Android 13 pour les applications qui ciblent Android 13 et pour toutes les applications.

Productivité et outils des développeurs

Icônes d'applications à thème

L'utilisateur active les icônes d'application à thème
Activer les icônes d'application à thème sur Android 13

À partir d'Android 13, vous pouvez activer les icônes d'application à thème. Grâce à cette fonctionnalité, les icônes d'application des lanceurs Android compatibles sont teintées pour hériter de la couleur du fond d'écran choisi par l'utilisateur et d'autres thèmes.

Pour prendre en charge cette fonctionnalité, votre application doit fournir à la fois une icône adaptative et une icône d'application monochrome, et pointer vers l'icône d'application monochrome de l'élément <adaptive-icon> dans le fichier manifeste. Si un utilisateur a activé les icônes d'application à thème (en d'autres termes, activé le bouton Icônes à thème dans les paramètres système) et que le lanceur d'applications prend en charge cette fonctionnalité, le système utilise la couleur du fond d'écran et du thème choisis par l'utilisateur pour déterminer la teinte, qui s'applique ensuite à l'icône d'application monochrome.

L'écran d'accueil n'affiche PAS l'icône d'application à thème, mais l'icône d'application adaptative ou standard, dans les cas suivants:

  • Si l'utilisateur n'a pas activé les icônes d'application à thème
  • Si votre application ne fournit pas d'icône d'application monochrome
  • Si le lanceur d'applications ne prend pas en charge les icônes d'application à thème

Pour en savoir plus et obtenir des instructions, consultez Icônes adaptatives.

Préférence linguistique par appli

Langues par application dans les paramètres système

Dans bien des cas, les utilisateurs multilingues choisissent une langue (telle que l'anglais) pour leur système, mais veulent être en mesure d'en sélectionner d'autres (telles que le néerlandais, le chinois ou encore l'hindi) pour des applications spécifiques. Afin d'améliorer l'expérience de ces utilisateurs, Android 13 propose maintenant les fonctionnalités suivantes pour les applications prenant en charge plusieurs langues :

  • Paramètres système : emplacement centralisé où les utilisateurs peuvent sélectionner une langue préférée pour chaque application.

    L'attribut android:localeConfig doit être déclaré dans le fichier manifeste de votre application pour indiquer au système qu'elle accepte plusieurs langues. Pour en savoir plus, consultez les instructions pour créer un fichier de ressources et le déclarer dans le fichier manifeste de votre application.

  • API supplémentaires : ces API publiques telles que les méthodes setApplicationLocales() et getApplicationLocales() dans LocaleManager permettent aux utilisateurs d'une application de définir une langue différente de celle du système au moment de l'exécution.

    Ces API se synchronisent automatiquement avec les paramètres système. Par conséquent, les applications qui utilisent ces API pour créer des outils de sélection de langue personnalisés dans l'application garantissent une expérience cohérente, quel que soit l'endroit où les utilisateurs sélectionnent leurs préférences linguistiques. Les API publiques vous aident également à réduire la quantité de code récurrent, et sont compatibles avec les APK divisés ainsi que la sauvegarde automatique des applications pour stocker les paramètres linguistiques de l'utilisateur au niveau de l'application.

    Pour assurer la rétrocompatibilité avec les versions précédentes d'Android, des API équivalentes sont également disponibles sur AndroidX. Nous vous recommandons d'utiliser les API ajoutées dans Appcompat 1.6.0-beta01 ou version ultérieure.

Les applications qui ne sont pas disponibles en plusieurs langues ne sont pas concernées par ces changements.

Prise en charge améliorée du texte et des langues

Android 13 inclut plusieurs fonctionnalités d'amélioration du texte et de la langue qui vous aident à offrir une expérience plus soignée, qui sont décrites dans les sections suivantes:

Caractère de trait d'union plus rapide

La trait d'union facilite la lecture du texte à la ligne et permet de rendre votre interface utilisateur plus adaptative. À partir d'Android 13, les performances de trait d'union sont optimisées jusqu'à 200 %. Vous pouvez donc l'activer dans votre TextView sans pratiquement aucun impact sur les performances d'affichage. Pour accélérer la traitance, utilisez les fréquences fullFast ou normalFast dans setHyphenationFrequency().

API Text Conversion

Les personnes qui parlent des langues telles que le japonais et le chinois utilisent des méthodes de saisie phonétiques, ce qui ralentit souvent la recherche et certaines fonctionnalités telles que la saisie semi-automatique. Dans Android 13, les applications peuvent appeler la nouvelle API de conversion textuelle afin que les utilisateurs puissent trouver ce qu'ils recherchent plus rapidement et plus facilement. Auparavant, par exemple, un utilisateur japonais devait effectuer les étapes suivantes pour effectuer une recherche:

  1. Saisir les hiraganas pour la prononciation phonétique de leur terme de recherche (par exemple, un lieu ou le nom d'une application)
  2. Utiliser le clavier pour convertir les caractères hiragana en kanji
  3. Effectuez une nouvelle recherche à l'aide des caractères kanji
  4. Enfin, obtenez ses résultats de recherche

Grâce à la nouvelle API de conversion de texte, les utilisateurs japonais peuvent saisir du texte en hiragana et voir immédiatement les résultats de recherche en kanji en direct, en ignorant les étapes 2 et 3.

Hauteur de ligne améliorée pour les scripts non latins

Android 13 améliore l'affichage des scripts non latins (tels que le tamoul, le birman, le télougou et le tibétain) en utilisant une hauteur de ligne adaptée à chaque langue. La nouvelle hauteur de ligne évite le rognage et améliore le positionnement des caractères. Votre application peut bénéficier de ces améliorations simplement en ciblant Android 13. Veillez à tester vos applications lorsque vous utilisez le nouvel espacement entre les lignes, car les modifications peuvent affecter votre interface utilisateur dans les langues non latines.

Hauteurs de ligne rognées dans Android 12 (ci-dessus) qui sont désormais mieux positionnées et non rognées dans Android 13 (ci-dessous).

Amélioration de l'habillage du texte en japonais

À partir d'Android 13, les TextViews peuvent encapsuler le texte en bunsetsu (la plus petite unité de mots qui semble naturel) ou par des expressions, plutôt que par caractère, pour des applications japonaises plus soignées et lisibles. Vous pouvez tirer parti de cet encapsulage en utilisant android:lineBreakWordStyle="phrase" avec TextViews.

Retour automatique à la ligne en japonais avec le style de phrase activé (ci-dessous) et sans (ci-dessus).

Mises à jour de la bibliothèque Unicode

Android 13 ajoute les dernières améliorations, corrections et modifications incluses dans Unicode ICU 70, Unicode CLDR 40 et Unicode 14.0.

Voici quelques modifications notables:

  • L'anglais (Canada) en‑CA et l'anglais (République des Philippines) en‑PH utilisent tous deux des ressources de traduction en anglais (États-Unis) en lorsqu'aucune ressource de traduction n'est disponible, à la place de l'anglais (Royaume-Uni) en‑GB.
  • La catégorie plurielle many a été introduite pour l'espagnol es, l'italien it, le portugais pt et le portugais (Portugal) pt‑PT. Semblable au français introduit dans la version 38 du CLDR, il est utilisé pour les grands nombres.

Polices vectorielles de couleurs

Emoji vectoriel COLRv1 (à gauche) et emoji bitmap (à droite)

À partir d'Android 13, le système prend en charge le rendu des polices COLR version 1 (COLRv1) et met à jour les emoji système au format COLRv1. COLRv1 est un format de police hautement compact qui offre un rendu rapide et net, quelle que soit la taille.

Pour la plupart des applications, le système gère tout et COLRv1 fonctionne uniquement. Toutefois, si votre application implémente son propre rendu de texte et utilise les polices du système, nous vous recommandons de tester le rendu des emoji.

Pour en savoir plus sur COLRv1, consultez les ressources suivantes:

API d'emplacement des Réglages rapides

Les Réglages rapides dans le volet des notifications permettent aux utilisateurs de modifier facilement les paramètres ou d'effectuer des actions rapides sans quitter le contexte d'une application. Pour les applications qui fournissent des tuiles personnalisées, nous facilitons la découverte et l'ajout de cartes aux utilisateurs dans les Réglages rapides. Grâce à une nouvelle API de positionnement des cartes, votre application peut désormais inviter l'utilisateur à ajouter directement votre carte personnalisée à l'ensemble des tuiles Réglages rapides actives. Une nouvelle boîte de dialogue système permet à l'utilisateur d'ajouter la carte en une seule étape, sans quitter votre application, au lieu d'avoir à accéder aux Réglages rapides pour l'ajouter.

Boîte de dialogue demandant à l&#39;utilisateur s&#39;il souhaite ajouter une carte à ses Réglages rapides.

Aperçu du presse-papiers

À partir d'Android 13, le système affiche une confirmation visuelle standard lorsque du contenu est ajouté au presse-papiers. La nouvelle confirmation effectue les opérations suivantes:

  • confirme que le contenu a bien été copié.
  • Fournit un aperçu du contenu copié.

Cette fonctionnalité standardise les différentes notifications affichées par les applications après la copie et offre aux utilisateurs plus de contrôle sur leur presse-papiers. Pour en savoir plus, consultez la page de la fonctionnalité Copier et coller.

Copier/Coller le widget
Nouvelle interface utilisateur qui s'affiche lorsque du contenu est ajouté au presse-papiers.

Prévisualisation du geste Retour

Android 13 introduit la prévisualisation du geste Retour pour les appareils Android tels que les téléphones, les grands écrans et les pliables. Pour prendre en charge cette fonctionnalité, vous devez mettre à jour votre application.

Pour consulter la documentation détaillée, consultez Mettre à jour votre application pour permettre la prévisualisation du geste Retour. Vous pouvez également essayer notre atelier de programmation.

Bluetooth LE Audio

L'audio à basse consommation (LE) est un système audio sans fil conçu pour remplacer le Bluetooth classique et permettre certains cas d'utilisation et topologies de connexion. Il permet aux utilisateurs de partager et de diffuser leur contenu audio à leurs amis et à leur famille, ou de s'abonner à des diffusions publiques à des fins d'information, de divertissement ou d'accessibilité. Il est conçu pour que les utilisateurs puissent bénéficier d'un son haute fidélité sans sacrifier l'autonomie de la batterie, et pour passer facilement d'un cas d'utilisation à un autre, ce qui n'est pas possible avec la fonctionnalité Bluetooth Classic. À partir d'Android 13, le système prend en charge LE Audio. Les développeurs peuvent ainsi bénéficier de ces fonctionnalités sans frais sur les appareils compatibles.

MIDI 2.0

À partir d'Android 13, le système est compatible avec la norme MIDI 2.0, y compris la possibilité de connecter du matériel MIDI 2.0 via USB. Cette norme offre des fonctionnalités telles qu'une résolution accrue pour les contrôleurs, une meilleure prise en charge des intonations non occidentales et des performances plus expressives avec des contrôleurs par note.

Amélioration de l'efficacité de l'écran de démarrage

Android 13 améliore l'efficacité des écrans de démarrage animés dans l'API Splash Screen:

  • Le système déduit la durée de l'animation directement à partir de AnimatedVectorDrawable. Avant Android 13, il était nécessaire de définir windowSplashScreenAnimationDuration directement.

  • Utilisez le nouvel attribut windowSplashScreenBehavior pour mieux contrôler si votre application affiche toujours l'icône sur l'écran de démarrage sous Android 13 ou version ultérieure.

Pour accéder à la documentation détaillée, consultez la section Écrans de démarrage.

Optimisations ART

Sur Android 13 (niveau d'API 33) ou version ultérieure, ART permet de basculer vers et depuis le code natif beaucoup plus rapidement, avec des appels JNI jusqu'à 2,5 fois plus rapides. Le traitement des références dans l'environnement d'exécution a également été retravaillé pour qu'il soit principalement non bloquant, ce qui réduit davantage les à-coups. De plus, vous pouvez utiliser l'API publique Reference.refersTo() pour récupérer plus rapidement les objets inaccessibles. Vous remarquerez que l'interpréteur est désormais plus rapide grâce aux recherches optimisées de classes et de méthodes. ART effectue également une plus grande vérification de l'octet de code au moment de l'installation, ce qui évite les dépenses liées à la validation au moment de l'exécution et accélère le démarrage de l'application.

Confidentialité et sécurité

Exportation plus sécurisée des récepteurs enregistrés en contexte

Pour renforcer la sécurité des récepteurs d'exécution, Android 13 permet à votre application de spécifier si un broadcast receiver enregistré doit être exporté et visible par d'autres applications de l'appareil. Dans les versions précédentes d'Android, toute application installée sur l'appareil pouvait envoyer une diffusion non protégée à un récepteur enregistré de manière dynamique, sauf si celui-ci était protégé par une autorisation de signature.

Cette configuration d'exportation est disponible sur les applications qui effectuent au moins l'une des opérations suivantes:

Sélecteur de photos

Android 13 (niveau d'API 33) ou version ultérieure inclut un sélecteur de photos. Lorsque votre application lance le sélecteur de photos, les utilisateurs sélectionnent des images et des vidéos spécifiques à partager avec votre application, telles que des photos de profil, au lieu de laisser votre application accéder à l'intégralité de la bibliothèque multimédia. Il s'agit de la méthode recommandée pour accéder aux photos et aux vidéos de l'utilisateur.

Le sélecteur de photos offre une confidentialité renforcée aux utilisateurs, car votre application n'a pas besoin de déclarer d'autorisations d'exécution. En outre, le sélecteur de photos fournit une UI intégrée et standardisée pour les applications, ce qui crée une expérience utilisateur plus cohérente.

Nouvelle autorisation d'exécution pour les appareils Wi-Fi à proximité

Android 13 (niveau d'API 33) introduit une nouvelle autorisation d'exécution dans le groupe d'autorisations NEARBY_DEVICES pour les applications qui gèrent les connexions d'un appareil à des points d'accès à proximité via le Wi-Fi. Ces applications doivent déclarer la nouvelle autorisation, NEARBY_WIFI_DEVICES, lorsqu'elles appellent plusieurs API Wi-Fi différentes. En outre, tant que les applications ne déterminent pas la position physique à partir des API Wi-Fi, elles n'ont pas besoin de déclarer l'autorisation ACCESS_FINE_LOCATION lorsqu'elles ciblent Android 13 ou version ultérieure.

En savoir plus sur l'autorisation d'accès aux appareils Wi-Fi à proximité

Nouvelle autorisation d'utiliser des alarmes exactes

Si votre application cible Android 13 ou une version ultérieure, vous pouvez utiliser l'autorisation USE_EXACT_ALARM, qui est automatiquement accordée à votre application. Pour que votre application puisse utiliser cette autorisation, elle doit toutefois répondre à au moins l'un des critères suivants:

  • Votre application est une application de réveil ou de minuteur.
  • Votre application est une application de calendrier qui affiche des notifications pour les événements à venir.

Si votre application définit des alarmes exactes, mais ne répond à aucun des cas indiqués dans la liste précédente, continuez à déclarer l'autorisation SCHEDULE_EXACT_ALARM à la place et préparez-vous au cas où l'utilisateur refuse l'accès à votre application.

Autorisations permettant aux développeurs de revenir à une version antérieure

À partir d'Android 13, votre application peut révoquer l'accès aux autorisations d'exécution inutilisées. Cette API permet à votre application d'effectuer des tâches qui améliorent la confidentialité, telles que les suivantes:

  • Supprimez les autorisations inutilisées.
  • Respectez les bonnes pratiques en matière d'autorisation afin de renforcer la confiance des utilisateurs. Vous pouvez envisager de présenter aux utilisateurs une boîte de dialogue indiquant les autorisations que vous avez révoquées de manière proactive.

APK Signature Scheme v3.1

Android 13 est compatible avec APK Signature Scheme v3.1, qui améliore le APK Signature Scheme v3 existant. Ce schéma résout certains des problèmes connus liés à la rotation du schéma de signature APK v3. En particulier, le schéma de signature v3.1 est compatible avec le ciblage par version du SDK, ce qui permet la rotation de cibler une version ultérieure de la plate-forme.

Le schéma de signature v3.1 utilise un ID de bloc qui n'est pas reconnu à la version 12L ou antérieure. Par conséquent, la plate-forme applique le comportement de signataire suivant:

  • Les appareils équipés d'Android 13 ou version ultérieure utilisent le signataire ayant fait l'objet d'une rotation dans le bloc v3.1.
  • Les appareils qui exécutent d'anciennes versions d'Android ignorent le signataire ayant fait l'objet d'une rotation et utilisent à la place le signataire d'origine dans le bloc v3.0.

Les applications dont la clé de signature n'a pas encore été alternée ne nécessitent aucune action supplémentaire. Chaque fois que ces applications choisissent d'effectuer une rotation, le système applique par défaut le schéma de signature v3.1.

Les applications qui ont déjà effectué une rotation et qui souhaitent continuer à utiliser leur clé de signature ayant fait l'objet d'une rotation dans le bloc de signature v3.0 doivent mettre à jour leur appel apksigner:

apksigner sign --ks keystore.jks |
  --key key.pk8 --cert cert.x509.pem
  --rotation-min-sdk-version API_LEVEL
  [signer_options] app-name.apk

...où API_LEVEL est inférieur ou égal à 32.

Amélioration des rapports d'erreurs dans Keystore et KeyMint

Pour les applications qui génèrent des clés, Keystore et KeyMint fournissent désormais des indicateurs d'erreur plus détaillés et plus précis. Nous avons ajouté une hiérarchie de classes d'exceptions sous java.security.ProviderException, avec des exceptions spécifiques à Android qui incluent des codes d'erreur Keystore/KeyMint et si l'erreur peut être répétée. Vous pouvez également modifier les méthodes de génération et d'utilisation des clés (signature, chiffrement) pour générer les nouvelles exceptions. La création de rapports d'erreurs améliorée ne se limite pas à la génération de clés et devrait désormais vous fournir ce dont vous avez besoin pour réessayer de générer des clés.

Compatibilité avec les tablettes et les grands écrans

Android 13 s'appuie sur les optimisations pour tablette introduites dans Android 12 et la mise à jour groupée 12L, y compris les optimisations de l'UI du système, un meilleur mode multitâche et des modes de compatibilité améliorés. Lors de vos tests, assurez-vous que vos applications s'affichent de manière optimale sur les tablettes et les autres appareils à grand écran.

Pour en savoir plus sur les nouveautés et sur les éléments à tester, consultez la page Compatibilité avec les tablettes et les grands écrans.

Graphismes

Nuanceurs programmables

Nuanceur d'animation AGSL, adapté de ce nuanceur GLSL.

À partir d'Android 13, le système prend en charge les objets RuntimeShader programmables, avec un comportement défini à l'aide du langage de nuance graphique Android Graphics (AGSL). AGSL partage une grande partie de sa syntaxe avec le GLSL, mais fonctionne dans le moteur de rendu Android pour personnaliser la peinture dans le canevas Android ainsi que le filtrage du contenu de la vue. Android utilise ces nuanceurs en interne pour implémenter des effets d'ondulation, le flou et le défilement hors limites pour étirer. Android 13 ou version ultérieure vous permet de créer des effets avancés similaires pour votre application.

Améliorations apportées au chorégraphe

Android 13 introduit des méthodes d'API publiques dans Choreographer et ASurfaceControl, qui fournissent aux applications plus d'informations sur les chronologies de frames possibles et ajoutent plus de contexte à SurfaceFlinger sur le cycle de vie des frames. Comme précédemment, les applications peuvent publier un rappel pour Choreographer et recevoir des informations sur la chronologie des frames. Dans Android 13 (niveau d'API 33), Choreographer renvoie plusieurs fois de présentation possibles et les délais de rendu correspondants. Les applications peuvent choisir l'heure de présentation et avertir SurfaceFlinger de votre choix. SurfaceFlinger ne tente alors pas d'appliquer des transactions ou des tampons de verrouillage avant l'heure de présentation souhaitée.

Si votre application utilise les nouvelles méthodes Choreographer et SurfaceControl, vous pouvez afficher le cycle de vie des frames de l'application dans une trace Perfetto.

Appareil photo

Capture vidéo HDR

À partir d'Android 13, les API Camera2 sont compatibles avec la capture vidéo HDR (High Dynamic Range), ce qui vous permet de prévisualiser et d'enregistrer un contenu vidéo HDR à l'aide de votre appareil photo. Par rapport à la plage dynamique standard (SDR), la technologie HDR offre une gamme de couleurs plus large et augmente la plage dynamique du composant de luminance (de 100 cd/m2 à 1 000 cd/m2 actuellement). Vous obtenez ainsi une qualité vidéo plus proche de la réalité, avec des couleurs plus riches, des tons clairs plus éclatants et des ombres plus sombres.

Pour en savoir plus sur la capture vidéo HDR, consultez la documentation sur la capture vidéo HDR.

Contenus multimédias

Son spatial

Le son spatial est une expérience audio immersive qui rend le contenu multimédia plus réaliste pour vos utilisateurs. Consultez notre documentation sur le son spatial pour découvrir comment intégrer cette fonctionnalité.

Routage audio anticipé

Pour aider les applications multimédias à identifier le routage de leur contenu audio, Android 13 introduit les API de routage audio dans la classe AudioManager. L'API getAudioDevicesForAttributes() vous permet de récupérer une liste d'appareils pouvant être utilisés pour lire le contenu audio spécifié, tandis que l'API getDirectProfilesForAttributes() vous aide à déterminer si votre flux audio peut être lu directement. Utilisez ces API pour déterminer la meilleure AudioFormat à utiliser pour votre piste audio.

Accessibilité

Audiodescription

Android 13 (niveau d'API 33) introduit une nouvelle préférence d'accessibilité à l'échelle du système qui permet aux utilisateurs d'activer l'audiodescription dans toutes les applications. Une audiodescription est une piste de narration supplémentaire qui consiste en un narrateur parlant pendant la présentation et décrivant ce qui se passe à l'écran lors des pauses naturelles de l'audio. Les applications peuvent suivre les préférences de l'utilisateur pour les pistes audiodescription en interrogeant isAudioDescriptionRequested(), comme indiqué dans l'extrait de code suivant:

Kotlin


private lateinit var accessibilityManager: AccessibilityManager

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager::class.java)

// Where your media player is initialized
if (accessibilityManager.isAudioDescriptionRequested) {
    // User has requested to enable audio descriptions
}

Java


private AccessibilityManager accessibilityManager;

// In onCreate():
accessibilityManager = getSystemService(AccessibilityManager.class);

// Where your media player is initialized
if(accessibilityManager.isAudioDescriptionRequested()) {
    // User has requested to enable audio descriptions
}

Les applications peuvent surveiller le changement des préférences de l'utilisateur en ajoutant un écouteur à AccessbilityManager:

Kotlin

private val listener =
    AccessibilityManager.AudioDescriptionRequestedChangeListener { enabled ->
        // Preference changed; reflect its state in your media player
    }

override fun onStart() {
    super.onStart()

    accessibilityManager.addAudioDescriptionRequestedChangeListener(mainExecutor, listener)
}

override fun onStop() {
    super.onStop()

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener)
}

Java

private AccessibilityManager.AudioDescriptionRequestedChangeListener listener = enabled -> {
    // Preference changed; reflect its state in your media player
};

@Override
protected void onStart() {
    super.onStart();

    accessibilityManager.addAudioDescriptionRequestedChangeListener(getMainExecutor(), listener);
}

@Override
protected void onStop() {
    super.onStop();

    accessibilityManager.removeAudioDescriptionRequestedChangeListener(listener);
}

Fonctionnalité de base

Mises à jour OpenJDK 11

Android 13 commence à actualiser les bibliothèques principales d'Android pour les aligner sur la version LTS d'OpenJDK 11 avec des mises à jour de la bibliothèque et la prise en charge du langage Java 11 pour les développeurs d'applications et de plates-formes. Les modifications de la bibliothèque principale introduites dans Android 13 seront également disponibles pour les appareils Android 12 via une mise à jour du système Google Play apportée au module principal ART.

Android 13 inclut les modifications suivantes apportées aux bibliothèques principales:

  • Prise en charge du mot clé var pour les variables locales et en tant que lambdas de paramètres.
  • Nouvelles méthodes dans la classe String:

    • isBlank()
    • lines()
    • repeat()
    • strip()
    • stripLeading()
    • stripTrailing()
  • Prise en charge de Collection.toArray(IntFunction) pour faciliter l'adaptation d'une collection à un tableau.

  • Compatibilité avec ifPresentOrElse(), isEmpty(), orElseThrow() et stream() dans les classes java.util Optional, OptionalDouble, OptionalInt et OptionalLong.

  • Compatibilité étendue avec SocketOptions, y compris la réutilisation des sockets.

  • Fonctionnalité NullReader, NullWriter, InputStream, OutputStream et transferTo() Reader qui transfère les caractères lus vers Writer.

  • Ajout d'une fonctionnalité d'encodage et de décodage des URL à l'aide de Charsets.

  • Fonctionnalité Charset pour FileReader, FileWriter, PrintStream et PrintWriter.

  • Nouvelles fonctions transferTo(), readNBytes(), readAllBytes() et writeBytes() pour ByteArrayInput ou OutputStream, et Input ou OutputStream.

  • Compatibilité de l'environnement d'exécution et du compilateur avec java.lang.invoke.VarHandle.

  • Mise à jour de java.util.concurrent vers l'API OpenJDK 11 à l'aide de VarHandle en interne.

Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.