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 connaître les domaines dans lesquels les changements de plate-forme affecter vos applications, veillez à consulter les modifications de comportement d'Android 13 pour les applications ciblant Android 13 et pour tous applications.

Productivité et outils des développeurs

Icônes d'applications à thème

<ph type="x-smartling-placeholder">
</ph> L&#39;utilisateur active les icônes d&#39;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 , les icônes d'application des lanceurs d'applications Android compatibles sont teintées de manière à hériter 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 icône adaptative et une l'icône d'application monochrome et pointez vers celle-ci dans le menu <adaptive-icon> dans le fichier manifeste. Si un utilisateur a activé une application à thème (en d'autres termes, vous avez activé le bouton Icônes à thème dans les paramètres système) ; et si le lanceur d'applications prend en charge cette fonctionnalité, le système utilise la couleur le fond d'écran et le thème choisis par l'utilisateur pour déterminer la teinte. s'applique à l'icône d'application monochrome.

L'écran d'accueil n'affiche PAS l'icône de l'application à thème, mais affiche 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

<ph type="x-smartling-placeholder">
</ph>
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 dans Appcompat 1.6.0-beta01 ou supérieur.

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 aident vous offrez une expérience plus soignée, décrite dans les sections suivantes:

Caractère de trait d'union plus rapide

Avec les traits d'union, le retour à la ligne est plus facile à lire et votre UI adaptative. À partir d'Android 13, les performances de trait d'union sont optimisées par jusqu'à 200% pour pouvoir l'activer dans votre TextView les performances de rendu. Pour accélérer le trait d'union, utilisez l'opérateur fullFast ou normalFast fréquences comprises setHyphenationFrequency()

API Text Conversion

Les personnes qui parlent des langues comme le japonais et le chinois utilisent des lettres phonétiques les méthodes de saisie, qui ralentissent souvent la recherche et des fonctionnalités telles que la saisie automatique l'achèvement. Dans Android 13, les applications peuvent appeler la nouvelle conversion textuelle API pour permettre aux utilisateurs de trouver qu’ils recherchent plus rapidement et plus facilement. Auparavant, la recherche qu'un utilisateur japonais ait effectué les opérations suivantes:

  1. Saisir l'hiragana pour la prononciation phonétique du terme de recherche (par exemple, (lieu ou nom d'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 taper en hiragana et les résultats de recherche en kanjis s'affichent immédiatement 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 (tamil, birman, télougou et 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 interligne, car les modifications peut affecter votre interface utilisateur dans les langues non latines.

<ph type="x-smartling-placeholder">
</ph>
Les hauteurs de ligne qui étaient tronquées dans Android 12 (et versions ultérieures) qui sont désormais mieux positionné et non rogné dans Android 13 (ci-dessous).

Amélioration de l'habillage du texte en japonais

À partir d'Android 13, les TextViews peuvent activer le retour automatique à la ligne en bunsetsu (la plus petite unité de mots qui sonne (naturels) ou des expressions, plutôt que caractère par caractère, applications japonaises. Vous pouvez tirer parti de cet encapsulage en utilisant android:lineBreakWordStyle="phrase" avec TextViews.

<ph type="x-smartling-placeholder">
</ph>
Retour automatique à la ligne en japonais avec le style d'expression activé (ci-dessous) et sans (ci-dessus).

Mises à jour de la bibliothèque Unicode

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

Voici quelques modifications notables:

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

Polices vectorielles de couleurs

<ph type="x-smartling-placeholder">
</ph>
Emoji vectoriel COLRv1 (à gauche) et emoji bitmap (à droite)
.

À partir d'Android 13, le système prend en charge le rendu avec COLR version 1. (COLRv1) et met à jour les emoji système au format COLRv1. COLRv1 est une format de police compact offrant 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 recommandez 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 des paramètres ou effectuer des actions rapides sans quitter le contexte d'une application. Pour les applications qui fournissent des tuiles personnalisées, Il est désormais plus facile pour les utilisateurs de découvrir et d'ajouter vos cartes Paramètres. L'utilisation d'un nouveau API de placement des blocs, votre application peut désormais inviter l'utilisateur à ajouter directement votre carte personnalisée au ensemble de blocs "Réglages rapides" actifs. Une nouvelle boîte de dialogue système permet à l'utilisateur d'ajouter en une étape, sans quitter l'application au lieu d'avoir à accéder au menu Paramètres pour ajouter la carte.

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

Aperçu du presse-papiers

À partir d'Android 13, le système affiche une confirmation visuelle standard lorsque 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 applis après la copie et offre aux utilisateurs plus de contrôle sur leur presse-papiers. Pour plus d'informations, utilisez la fonctionnalité Copier et coller. .

<ph type="x-smartling-placeholder">
</ph> Copier/Coller le widget <ph type="x-smartling-placeholder">
</ph> Nouvelle UI affichée 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 téléphones, grands écrans et pliables. La prise en charge de cette fonctionnalité nécessite que vous mettre à jour votre application.

Pour consulter la documentation détaillée, consultez Mettre à jour votre application pour qu'elle prenne en charge la prévisualisation du Retour. geste. Vous pouvez également essayer suivez notre atelier de programmation.

Bluetooth LE Audio

L'audio à basse consommation (LE) est un système audio sans fil conçu pour remplacer Bluetooth classique et activer 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 s'abonner à des émissions publiques à des fins d'information, de divertissement ou d'accessibilité Il est conçu pour garantir que les utilisateurs peuvent recevoir un son haute fidélité sans au détriment de l'autonomie de la batterie, et il est facile de passer d'une utilisation à l'autre des étuis qui ne sont pas possibles avec la fonctionnalité Bluetooth Classic. À partir d'Android 13, est compatible avec LE Audio, de sorte que les développeurs reçoivent ces 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 manettes, une meilleure prise en charge de intonations non occidentales et performances plus expressives avec la note par note contrôleurs.

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 Splash API Screen:

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

  • Utilisez le nouvel attribut windowSplashScreenBehavior pour mieux contrôler si votre appli affiche toujours l'icône sur l'écran de démarrage sous Android 13 ; et supérieurs.

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 natif coder beaucoup plus rapidement, avec des appels JNI jusqu'à 2,5 fois plus rapides. Documentation de référence sur l'environnement d'exécution le traitement a également été retravaillé pour le rendre principalement non bloquant, ce qui réduit les à-coups. Vous pouvez également utiliser Reference.refersTo() l'API publique pour récupérer plus tôt les objets inaccessibles. Vous remarquerez est désormais plus rapide grâce à l'optimisation des recherches de classes et de méthodes. ART aussi effectue une vérification plus poussée de l'octet de code au moment de l'installation, ce qui évite les dépenses lors de l'exécution et réduire le temps de 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 introduit le permet à votre application de spécifier Broadcast receiver enregistré doit être exporté et visible par les autres applications de l'appareil. Dans les versions précédentes d'Android, toute application installée sur l'appareil peut envoyer une diffusion non protégée à un enregistré de façon dynamique, sauf s'il est protégé par un 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 expérience. Lorsque votre application lance sélecteur de photos, les utilisateurs sélectionnent des images et des vidéos spécifiques à partager avec votre application, telles que les photos de profil, au lieu de donner à votre application l'accès à l'intégralité bibliothèque multimédia. Il s'agit de la méthode recommandée pour accéder aux photos et vidéos.

Le sélecteur de photos renforce la confidentialité des utilisateurs, car votre application ne sans déclarer les 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 expérience.

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

Android 13 (niveau d'API 33) introduit une nouvelle autorisation d'exécution Groupe d'autorisations NEARBY_DEVICES pour les applications qui gèrent les connexions d'un appareil à points d'accès à proximité via le Wi-Fi. Ces applis doivent déclarer la nouvelle autorisation, NEARBY_WIFI_DEVICES, lorsqu'ils appelez différentes API Wi-Fi. De plus, tant que les applications ne peuvent pas déterminer la position géographique à partir du réseau Wi-Fi API, ils n'ont pas besoin de déclarer ACCESS_FINE_LOCATION l'autorisation lorsqu'ils ciblent Android 13 ou une version ultérieure.

En savoir plus sur les autorisation des 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 le USE_EXACT_ALARM qui est automatiquement accordée à votre appli. Pour que votre application utiliser cette autorisation. Toutefois, elle doit répondre à au moins l'un des critères suivants : critères:

  • 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 présentés dans le liste précédente, continuez à déclarer SCHEDULE_EXACT_ALARM l'autorisation et soyez prêt à affronter la situation 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 appli peut révoquer l'accès aux ressources inutilisées autorisations d'exécution. Cette API permet à votre application d'effectuer des tâches qui renforcent la confidentialité, par exemple:

  • Supprimez les autorisations inutilisées.
  • Respectez les bonnes pratiques en matière d'autorisation afin de renforcer la confiance des utilisateurs. Vous voudrez peut-être envisager de présenter aux utilisateurs une boîte de dialogue indiquant les autorisations dont vous disposez être révoqués de façon proactive.

APK Signature Scheme v3.1

Android 13 est compatible avec APK Signature Scheme v3.1, qui améliore les solutions existantes APK Signature Scheme v3 : Ce schéma résolve certains des problèmes connus avec APK Signature Scheme v3 concernant la rotation. En particulier, la version 3.1 schéma de signature est compatible avec le ciblage par version du SDK, ce qui permet une rotation 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 12L ou version antérieure. Par conséquent, la plate-forme applique comportement du signataire suivant:

  • Les appareils équipés d'Android 13 ou version ultérieure utilisent la rotation du signataire dans dans le bloc v3.1.
  • Les appareils qui exécutent d'anciennes versions d'Android ignorent la rotation du signataire et utilisez plutôt le signataire d'origine dans le bloc v3.0.

Les applications pour lesquelles la rotation de leur clé de signature n'a pas encore été activée ne nécessitent aucune action. Chaque fois que ces applis choisissent d'effectuer une rotation, le système applique la version 3.1 schéma de signature par défaut.

Applications qui ont déjà effectué une rotation et qui souhaitent continuer à utiliser la fonctionnalité de signature pivotée dans le bloc de signature v3.0 doivent mettre à jour leur apksigner appel:

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 informations des indicateurs d'erreur plus précis. Nous avons ajouté une hiérarchie de classes d'exceptions java.security.ProviderException, à l'exception des exceptions propres à Android qui incluent : 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 (signature, chiffrement) pour générer les nouvelles exceptions. La l'amélioration des rapports d'erreurs ne se limite pas à la génération de clés et devrait désormais offrir ce 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 Mise à jour groupée 12L, avec optimisation de l'UI du système, meilleur mode multitâche, et des modes de compatibilité améliorés. Lors de vos tests, assurez-vous que vos applications s'affichent sous leur meilleur jour sur les tablettes et d'autres appareils à grand écran.

Pour en savoir plus sur les nouveautés et les tests à effectuer, consultez la Compatibilité avec les tablettes et les grands écrans .

Graphiques

Nuanceurs programmables

<ph type="x-smartling-placeholder">
</ph>
Un nuanceur animé AGSL, adapté à partir de ce Nuanceur GLSL.

À partir d'Android 13, le système prend en charge les programmations Objets RuntimeShader, avec comportement défini à l'aide d'Android Graphics Shading Language (AGSL). Parts d'AGSL une grande partie de sa syntaxe en GLSL, mais elle fonctionne dans le moteur de rendu Android pour personnaliser la peinture sur le canevas d'Android ainsi que le filtrage du contenu d'affichage. Android utilise ces nuanceurs en interne pour implémenter effets d'ondulation flou, et défilement hors limites pour étirer. Android 13 et versions ultérieures vous permettent de créer des effets avancés similaires pour votre l'application.

Améliorations apportées au chorégraphe

Android 13 introduit des méthodes d'API publiques pour Choreographer et ASurfaceControl qui fournir aux applications plus d'informations sur les différentes timelines de frames possibles et ajouter plus de contexte pour SurfaceFlinger sur le cycle de vie des frames. Comme précédemment, les applications peuvent publier un rappel à Choreographer et recevoir des informations sur la chronologie des frames. Sous Android 13 (API niveau 33), Choreographer renvoie plusieurs fois de présentation possibles et les délais de trame correspondants. Les applications peuvent choisir l'heure de présentation et par la suite avertir SurfaceFlinger de votre choix. SurfaceFlinger n'essaie ensuite pas d'appliquer les transactions ou tampons de verrouillage avant l'heure de présentation souhaitée.

<ph type="x-smartling-placeholder">
</ph>
Si votre application utilise les nouvelles méthodes Chorégraphe et SurfaceControl, vous pouvez afficher le cycle de vie du frame de l'application dans une trace Perfetto.

Appareil photo

Capture vidéo HDR

À partir d'Android 13, API Camera2 est compatible avec la capture vidéo HDR (High Dynamic Range), ce qui vous permet de prévisualiser et d'enregistrer des contenus vidéo HDR avec votre appareil photo. Par rapport aux créations dynamiques standards SDR, le HDR offre une gamme de couleurs plus étendue et augmente la gamme dynamique du composant de luminance (de 100 cd/m2 actuellement à des milliers de cd/m2). Vous obtenez ainsi une qualité vidéo plus proche de la réalité, avec des images des couleurs, des tons clairs plus éclatants et des ombres plus sombres.

Pour en savoir plus sur la capture vidéo HDR, consultez l'article Documentation sur la capture vidéo HDR.

Contenus multimédias

Son spatial

Le son spatial est une expérience audio immersive qui produit le son d'un contenu multimédia plus réaliste pour vos utilisateurs. Consultez l'article consacré au son spatial. pour en savoir plus sur l'intégration de 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 AudioManager. La getAudioDevicesForAttributes() L'API vous permet de récupérer la liste des appareils pouvant être utilisés pour lire le contenu audio spécifié et getDirectProfilesForAttributes() L'API vous aide à déterminer si votre flux audio peut être lu directement. Utilisez ces API pour déterminer AudioFormat à utiliser pour votre contenu audio le titre en question.

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 piste audio la description est une piste de narration supplémentaire composée d'un narrateur dans la présentation, en décrivant ce qui se passe à l'écran pendant des pauses naturelles dans l'audio. Les applications peuvent suivre les préférences de l'utilisateur pour les pistes audio : en l'en 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 l'évolution 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 OpenJDK 11 avec les mises à jour de la bibliothèque et le langage Java 11 pour les développeurs d'applications et de plates-formes. Modifications apportées à la bibliothèque principale introduites dans Android 13 seront également disponibles pour les appareils Android 12 via un Mise à jour du système Google Play vers le 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'un dans 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.

  • NullReader, NullWriter, InputStream, OutputStream et transferTo() Fonctionnalité 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.

  • les fonctionnalités Charset pour FileReader, FileWriter, PrintStream et PrintWriter

  • Nouveaux 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.