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. De plus, pour en savoir plus sur les domaines dans lesquels les changements de 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

Utilisateur activant 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. Avec cette fonctionnalité, les icônes d'application dans les lanceurs d'applications 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, a 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 couleur de la teinte, qu'il applique ensuite à l'icône monochrome de l'application.

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 monochrome
  • Si le lanceur d'applications n'est pas compatible avec les icônes d'application à thème

Vous trouverez davantage d'informations et des instructions à ce sujet sur la page 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 dans plusieurs langues ne sont pas concernées par ces changements.

Amélioration de la prise en charge du texte et des langues

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

Trait d'union plus rapide

Les traits d'union facilitent la lecture du texte encapsulé et rendent votre UI plus adaptative. À partir d'Android 13, les performances de trait d'union sont optimisées jusqu'à 200 %, ce qui vous permet de l'activer dans votre TextView sans aucune incidence sur les performances d'affichage. Pour permettre un trait d'union plus rapide, utilisez les fréquences fullFast ou normalFast dans setHyphenationFrequency().

API de conversion de texte

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

  1. Saisissez en hiragana la prononciation phonétique du terme de recherche (par exemple, un lieu ou le nom d'une application)
  2. Utilisez le clavier pour convertir les hiragana en kanjis
  3. Effectuez des recherches à l'aide de caractères kanjis
  4. Enfin, obtenir leurs résultats de recherche

Avec 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 kanjis en direct, en ignorant les étapes 2 et 3.

Amélioration de la hauteur des lignes 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 profiter de ces améliorations simplement en ciblant Android 13. Veillez à tester vos applications lorsque vous utilisez le nouvel interligne, car les modifications pourraient affecter votre interface utilisateur dans les langues non latines.

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

Amélioration du retour à la ligne automatique en japonais

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

Retour à la ligne automatique du texte japonais avec le style "expression exacte" activé (ci-dessous) et sans (au-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 importantes:

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

Polices de vecteur de couleur

Emoji vectoriels 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 très compact qui s'affiche de manière rapide et nette, quelle que soit la taille.

Pour la plupart des applications, le système gère tout, et COLRv1 fonctionne parfaitement. 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

La fenêtre de configuration rapide du volet des notifications permet 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 cartes personnalisées, nous permettons aux utilisateurs de les découvrir et de les ajouter plus facilement aux Réglages rapides. À l'aide d'une nouvelle API de placement des cartes, votre application peut désormais inviter l'utilisateur à ajouter directement votre carte personnalisée à l'ensemble des blocs "Réglages rapides" actifs. Une nouvelle boîte de dialogue système permet à l'utilisateur d'ajouter la carte en une seule étape, sans quitter votre application, sans avoir à accéder aux réglages rapides pour ajouter la carte.

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:

  • Confirmez 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 sur la fonctionnalité Copier et coller.

Copier/Coller le widget
Une nouvelle interface utilisateur s'affiche lorsque du contenu entre dans le 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 utiliser cette fonctionnalité, vous devez mettre à jour votre application.

Pour consulter la documentation détaillée, consultez Mettre à jour votre application pour prendre en charge 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 pour permettre certains cas d'utilisation et topologies de connexion. Il permet aux utilisateurs de partager leur contenu audio et de le diffuser à leurs proches, ou de s'abonner à des diffusions publiques pour obtenir des informations, se divertir ou accéder à des contenus. Elle est conçue pour permettre aux utilisateurs de recevoir un son haute fidélité sans sacrifier l'autonomie de la batterie, et pour passer facilement d'un cas d'utilisation à un autre qui ne serait pas possible avec la technologie Bluetooth Classic. À partir d'Android 13, le système est compatible avec LE Audio. Les développeurs bénéficient donc sans frais de ces fonctionnalités sur les appareils compatibles.

MIDI 2.0

À partir d'Android 13, le système est compatible avec la norme MIDI 2.0 et permet de connecter du matériel MIDI 2.0 via USB. Cette norme offre des fonctionnalités telles qu'une résolution accrue pour les manettes, une meilleure compatibilité avec les intonations non occidentales et des performances plus expressives en utilisant 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 consulter la documentation détaillée, consultez Écrans de démarrage.

Optimisations ART

Dans Android 13 (niveau d'API 33) ou version ultérieure, ART accélère le basculement vers et depuis le code natif, avec des appels JNI jusqu'à 2,5 fois plus rapides. Le traitement des références à l'environnement d'exécution a également été retravaillé pour le rendre principalement non bloquant, ce qui réduit davantage les à-coups. En outre, 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 à des recherches optimisées de classes et de méthodes. ART effectue également plus de vérification du bytecode au moment de l'installation, ce qui évite les frais de vérification au moment de l'exécution et préserve la rapidité du 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'environnement d'exécution, Android 13 permet à votre application de spécifier si un Broadcast receiver enregistré doit être exporté et visible par les autres applications de l'appareil. Sur les versions précédentes d'Android, n'importe quelle application de l'appareil pouvait envoyer une annonce non protégée à un récepteur enregistré dynamiquement, sauf si ce récepteur é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 une expérience avec le 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 elle, telles que des photos de profil, au lieu de donner à votre application l'accès à 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 interface utilisateur 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 aux 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. De plus, tant que les applications n'obtiennent pas la position physique 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 concernant les 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. Toutefois, pour que votre application puisse utiliser cette autorisation, elle doit remplir au moins l'un des critères suivants:

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

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

Autorisations pouvant être rétrogradées par le développeur

À 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.
  • Appliquez les bonnes pratiques pour les autorisations 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ésolve certains des problèmes connus liés à la rotation de l'APK Signature Scheme 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 de la version 3.1 utilise un ID de bloc qui n'est pas reconnu sur la version 12L ou les versions antérieures. Par conséquent, la plate-forme applique le comportement du signataire suivant:

  • Les appareils équipés d'Android 13 ou version ultérieure utilisent le signataire en 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 qui n'ont pas encore effectué la rotation de leur clé de signature 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 égal ou inférieur à 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 précis. Nous avons ajouté une hiérarchie de classes d'exceptions sous java.security.ProviderException, avec des exceptions spécifiques à Android qui incluent les 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 fonctionnalité améliorée Error Reporting ne se limite pas à la génération de clés et devrait à présent vous donner les éléments dont vous avez besoin pour relancer la génération de 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 des optimisations pour 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 les tests à effectuer, consultez la page Compatibilité avec les tablettes et les grands écrans.

Graphismes

Nuanceurs programmables

Nuanceur animé AGSL, adapté à partir 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 AGSL (Android Graphics Shading Language). AGSL partage une grande partie de sa syntaxe avec GLSL, mais fonctionne dans le moteur de rendu Android pour personnaliser la peinture dans le canevas d'Android ainsi que le filtrage du contenu de la vue. Android utilise ces nuanceurs en interne pour implémenter les effets d'ondulation, le floutage et le défilement hors limites. 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 différentes 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 dans Choreographer et recevoir des informations sur la chronologie des frames. Dans Android 13 (niveau d'API 33), Choreographer renvoie plusieurs heures de présentation possibles et les délais de rendu correspondants. Les applications peuvent choisir l'heure de présentation et en informer SurfaceFlinger ensuite. SurfaceFlinger n'essaie ensuite pas d'appliquer les transactions ou les 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), qui vous permet de prévisualiser et d'enregistrer un contenu vidéo HDR à l'aide de votre appareil photo. Par rapport à la technologie SDR (Standard Dynamic Range), 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). La qualité vidéo est ainsi plus fidèle à la réalité, avec des couleurs plus riches, des tons clairs plus lumineux et des ombres plus sombres.

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

Contenus multimédias

Son spatial

Le son spatial est une expérience audio immersive qui rend le son du 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 la manière dont leur contenu audio sera acheminé, Android 13 introduit des API de routage audio dans la classe AudioManager. L'API getAudioDevicesForAttributes() vous permet de récupérer la liste des 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 afin de déterminer le meilleur AudioFormat à utiliser pour votre piste audio.

Accessibilité

Audiodescription

Android 13 (niveau d'API 33) introduit une nouvelle préférence d'accessibilité au niveau du système qui permet aux utilisateurs d'activer l'audiodescription dans toutes les applications. Une audiodescription est une piste de narration supplémentaire dans laquelle un narrateur parle de la présentation et décrit ce qui se passe à l'écran lors des pauses naturelles dans l'audio. Les applications peuvent suivre les préférences de l'utilisateur pour les pistes audiodescription en les interrogeant avec 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 de 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 OpenJDK 11, avec à la fois les mises à jour de la bibliothèque et la compatibilité avec le langage Java 11 pour les développeurs d'applications et de plates-formes. Les modifications principales de la bibliothèque introduites dans Android 13 seront également disponibles sur les appareils Android 12 via une mise à jour du système Google Play du module principal ART.

Android 13 apporte les modifications suivantes aux bibliothèques principales:

  • Prise en charge du mot clé var pour les variables locales et les 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.

  • Prise en charge de ifPresentOrElse(), isEmpty(), orElseThrow() et stream() dans les classes java.util Optional, OptionalDouble, OptionalInt et OptionalLong.

  • Prise en charge étendue de SocketOptions, y compris pour la réutilisation de sockets.

  • Les fonctionnalités NullReader, NullWriter, InputStream, OutputStream et transferTo() Reader qui transfèrent les caractères lus vers une Writer

  • Ajout de fonctionnalités d'encodage et de décodage d'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.

  • Prise en charge de l'environnement d'exécution et du compilateur pour java.lang.invoke.VarHandle.

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

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