Android 16 offre aux développeurs de nouvelles fonctionnalités et API de qualité. Les sections suivantes résument ces fonctionnalités pour vous aider à vous lancer avec les API associées.
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.Vous devez également examiner les éléments de vos applications pouvant être affectés par les modifications de la plate-forme. Pour en savoir plus, consultez les pages suivantes:
- Changements de comportement affectant les applications lorsqu'elles ciblent Android 16
- Changements de comportement affectant toutes les applications, quel que soit le
targetSdkVersion
Fonctionnalité de base
Android inclut de nouvelles API qui étendent les fonctionnalités de base du système Android.
Deux versions d'API Android en 2025
- 此预览版适用于 Android 的下一个主要版本,计划于 2025 年第 2 季度发布。此版本与我们过去的所有 API 版本类似,我们可以进行计划性的行为更改,这些更改通常与 targetSdkVersion 相关联。
- 我们计划提前一个季度(2021 年第 2 季度,而非之前的第 3 季度)发布主要版本,以便更好地与整个生态系统中的设备发布时间表保持一致,让更多设备能够更早地搭载 Android 主要版本。由于主要版本将于第 2 季度发布,因此您需要比往年提前几个月进行年度兼容性测试,以确保您的应用已做好准备。
- 我们计划在 2025 年第 4 季度再发布一次,届时还将推出新的开发者 API。2025 年只有第二季度的主要版本包含可能影响应用的计划行为变更。
除了新的开发者 API 之外,第 4 季度次要版本还将包含功能更新、优化和 bug 修复;其中不会包含任何会影响应用的行为变更。

我们将继续每季度发布 Android 版本。在 API 版本之间,第 1 季度和第 3 季度的更新将提供增量更新,以帮助确保持续提供高质量的服务。我们正积极与设备合作伙伴合作,将 Q2 版本推广到尽可能多的设备。
在主要版本和次要版本中使用新 API
目前,使用 SDK_INT
常量与 VERSION_CODES
结合使用,即可通过检查 API 级别来保护代码块。我们将继续支持主要 Android 版本。
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
新的 SDK_INT_FULL
常量可用于针对主要版本和次要版本进行 API 检查,并使用新的 VERSION_CODES_FULL
枚举。
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
您还可以使用 Build.getMinorSdkVersion()
方法仅获取 SDK 次要版本。
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
这些 API 尚未最终确定,可能会发生变化,因此如果您有任何疑虑,请向我们发送反馈。
Expérience utilisateur et interface utilisateur du système
Android 16 offre aux développeurs d'applications et aux utilisateurs plus de contrôle et de flexibilité pour configurer leur appareil en fonction de leurs besoins.
Notifications axées sur la progression
Android 16 introduit des notifications axées sur la progression pour aider les utilisateurs à suivre facilement les parcours de bout en bout initiés par l'utilisateur.
Notification.ProgressStyle
est un nouveau style de notification qui vous permet de créer des notifications axées sur la progression. Les principaux cas d'utilisation incluent les services de covoiturage, la livraison et la navigation. Dans la classe Notification.ProgressStyle
, vous pouvez indiquer les états et les jalons d'un parcours utilisateur à l'aide de points et de segments.
Pour en savoir plus, consultez la page de documentation sur les notifications axées sur la progression.


Mises à jour de la prévisualisation du Retour
Android 16 ajoute de nouvelles API pour vous aider à activer les animations système de prévisualisation du Retour dans la navigation par gestes, comme l'animation de retour à l'écran d'accueil. Enregistrer onBackInvokedCallback
avec le nouveau PRIORITY_SYSTEM_NAVIGATION_OBSERVER
permet à votre application de recevoir l'appel onBackInvoked
standard chaque fois que le système gère une navigation arrière sans affecter le flux de navigation arrière normal.
Android 16 ajoute également finishAndRemoveTaskCallback()
et moveTaskToBackCallback
. En enregistrant ces rappels avec OnBackInvokedDispatcher
, le système peut déclencher des comportements spécifiques et lire les animations correspondantes à l'avance lorsque le geste Retour est appelé.
Retour haptique plus riche
Android expose le contrôle de l'actionneur haptique depuis sa création.
Android 11 a ajouté la prise en charge d'effets haptiques plus complexes que les actionneurs plus avancés peuvent prendre en charge via VibrationEffect.Compositions
de primitives sémantiques définies par l'appareil.
Android 16 ajoute des API haptiques qui permettent aux applications de définir les courbes d'amplitude et de fréquence d'un effet haptique tout en éliminant les différences entre les fonctionnalités de l'appareil.
Productivité et outils pour les développeurs
Bien que la plupart de nos efforts visant à améliorer votre productivité soient axés sur des outils tels que Android Studio, Jetpack Compose et les bibliothèques Android Jetpack, nous cherchons toujours à trouver des moyens de vous aider à réaliser votre vision sur la plate-forme.
Gestion du contenu pour les fonds d'écran animés
Dans Android 16, le framework de fond d'écran animé bénéficie d'une nouvelle API de contenu pour relever les défis des fonds d'écran dynamiques gérés par l'utilisateur. Actuellement, les fonds d'écran animés intégrant du contenu fourni par l'utilisateur nécessitent des implémentations complexes, spécifiques au service. Android 16 introduit WallpaperDescription
et WallpaperInstance
. WallpaperDescription vous permet d'identifier des instances distinctes d'un fond d'écran animé à partir du même service. Par exemple, un fond d'écran qui apparaît à la fois sur l'écran d'accueil et sur l'écran de verrouillage peut comporter un contenu unique dans les deux cas. Le sélecteur de fond d'écran et WallpaperManager
utilisent ces métadonnées pour mieux présenter les fonds d'écran aux utilisateurs, ce qui vous permet de créer des expériences de fond d'écran animé diversifiées et personnalisées plus facilement.
Performances et batterie
Android 16 introduit des API qui permettent de collecter des insights sur vos applications.
Profilage déclenché par le système
ProfilingManager
a été ajouté dans Android 15, ce qui permet aux applications de demander la collecte de données de profilage à l'aide de Perfetto sur les appareils publics sur le terrain.
Toutefois, comme ce profilage doit être lancé à partir de l'application, les flux critiques tels que les démarrages ou les erreurs ANR seraient difficiles ou impossibles à capturer par les applications.
Pour y remédier, Android 16 introduit le profilage déclenché par le système dans ProfilingManager
. Les applications peuvent s'inscrire pour recevoir des traces pour certains déclencheurs tels que le démarrage à froid reportFullyDrawn
ou les erreurs ANR. Le système démarre et arrête ensuite une trace au nom de l'application. Une fois la traçabilité terminée, les résultats sont envoyés au répertoire de données de l'application.
Démarrer le composant dans ApplicationStartInfo
ApplicationStartInfo
a été ajouté dans Android 15, ce qui permet à une application de voir les raisons du démarrage du processus, le type de démarrage, les heures de démarrage, le débit limité et d'autres données de diagnostic utiles. Android 16 ajoute getStartComponent()
pour distinguer le type de composant qui a déclenché le démarrage, ce qui peut être utile pour optimiser le flux de démarrage de votre application.
Meilleure introspection des offres d'emploi
L'API JobScheduler#getPendingJobReason()
renvoie la raison pour laquelle une tâche peut être en attente. Cependant, une tâche peut être en attente pour plusieurs raisons.
Dans Android 16, nous introduisons une nouvelle API JobScheduler#getPendingJobReasons(int jobId)
, qui renvoie plusieurs raisons pour lesquelles une tâche est en attente, en raison de contraintes explicites définies par le développeur et de contraintes implicites définies par le système.
Nous lançons également JobScheduler#getPendingJobReasonsHistory(int jobId)
, qui renvoie une liste des modifications de contraintes les plus récentes.
Nous vous recommandons d'utiliser l'API pour vous aider à déboguer les raisons pour lesquelles vos tâches ne s'exécutent pas, en particulier si vous constatez une baisse des taux de réussite de certaines tâches ou des bugs liés à la latence de certaines tâches. Par exemple, la mise à jour des widgets en arrière-plan n'a pas été effectuée ou la tâche de préchargement n'a pas pu être appelée avant le démarrage de l'application.
Cela peut également vous aider à mieux comprendre si certaines tâches ne sont pas effectuées en raison de contraintes définies par le système plutôt que de contraintes définies explicitement.
Fréquence d'actualisation adaptative
La fréquence d'actualisation adaptative (ARR, Adaptive Refresh Rate), introduite dans Android 15, permet à la fréquence d'actualisation de l'écran sur le matériel compatible de s'adapter à la fréquence d'images du contenu à l'aide d'étapes VSync distinctes. Cela réduit la consommation d'énergie tout en éliminant le besoin de changer de mode, ce qui peut entraîner des à-coups.
Android 16 introduit hasArrSupport()
et getSuggestedFrameRate(int)
, tout en rétablissant getSupportedRefreshRates()
pour permettre à vos applications de profiter plus facilement de l'ARR. RecyclerView 1.4 est compatible en interne avec l'ARR lorsqu'il s'installe à partir d'un balayage ou d'un défilement fluide. Nous continuons de travailler pour ajouter la compatibilité avec l'ARR à d'autres bibliothèques Jetpack. Cet article sur la fréquence d'images couvre de nombreuses API que vous pouvez utiliser pour définir la fréquence d'images afin que votre application puisse utiliser directement ARR.
API Headroom dans ADPF
SystemHealthManager
introduit les API getCpuHeadroom
et getGpuHeadroom
, conçues pour fournir aux jeux et aux applications gourmandes en ressources des estimations des ressources de processeur et de GPU disponibles. Ces méthodes vous permettent d'évaluer comment votre application ou votre jeu peut améliorer au mieux l'état du système, en particulier lorsqu'elles sont utilisées avec d'autres API Android Dynamic Performance Framework (ADPF) qui détectent le throttling thermique.
En utilisant CpuHeadroomParams
et GpuHeadroomParams
sur les appareils compatibles, vous pouvez personnaliser la période utilisée pour calculer la marge de manœuvre et choisir entre une disponibilité moyenne ou minimale des ressources. Cela peut vous aider à réduire l'utilisation des ressources du processeur ou du GPU en conséquence, ce qui améliore l'expérience utilisateur et l'autonomie de la batterie.
Accessibilité
Android 16 ajoute de nouvelles API et fonctionnalités d'accessibilité qui peuvent vous aider à proposer votre application à tous les utilisateurs.
API d'accessibilité améliorées
Android 16 ajoute des API supplémentaires pour améliorer la sémantique de l'UI, ce qui permet d'améliorer la cohérence pour les utilisateurs qui s'appuient sur des services d'accessibilité tels que TalkBack.
Durée ajoutée à TtsSpan
Android 16 étend TtsSpan
avec un TYPE_DURATION
, composé de ARG_HOURS
, ARG_MINUTES
et ARG_SECONDS
. Vous pouvez ainsi annoter directement la durée, ce qui garantit une sortie de synthèse vocale précise et cohérente avec des services tels que TalkBack.
Prendre en charge les éléments avec plusieurs libellés
Android permet actuellement aux éléments d'interface utilisateur de dériver leur libellé d'accessibilité à partir d'un autre. Il permet désormais d'associer plusieurs libellés, un scénario courant dans le contenu Web. En introduisant une API basée sur des listes dans AccessibilityNodeInfo
, Android peut prendre en charge directement ces relations multi-libellés. Dans le cadre de ce changement, nous avons abandonné AccessibilityNodeInfo#setLabeledBy
et #getLabeledBy
au profit de #addLabeledBy
, #removeLabeledBy
et #getLabeledByList
.
Amélioration de la compatibilité avec les éléments extensibles
Android 16 ajoute des API d'accessibilité qui vous permettent de transmettre l'état développé ou réduit des éléments interactifs, tels que les menus et les listes extensibles. En définissant l'état développé à l'aide de setExpandedState
et en distribuant des AccessibilityEvents TYPE_WINDOW_CONTENT_CHANGED avec un type de modification de contenu CONTENT_CHANGE_TYPE_EXPANDED
, vous pouvez vous assurer que les lecteurs d'écran tels que TalkBack annoncent les changements d'état, offrant ainsi une expérience utilisateur plus intuitive et inclusive.
Barres de progression indéterminées
Android 16 ajoute RANGE_TYPE_INDETERMINATE
, ce qui vous permet d'exposer RangeInfo
pour les widgets ProgressBar
déterminés et indéterminés, ce qui permet à des services tels que TalkBack de fournir des commentaires plus cohérents pour les indicateurs de progression.
Case à cocher à trois états
Les nouvelles méthodes AccessibilityNodeInfo
getChecked
et setChecked(int)
d'Android 16 acceptent désormais un état "partiellement coché" en plus des états "coché" et "non coché". Cette valeur remplace les valeurs booléennes isChecked
et setChecked(boolean)
, obsolètes.
Descriptions supplémentaires
Lorsqu'un service d'accessibilité décrit un ViewGroup
, il réunit les libellés de contenu de ses vues enfants. Si vous fournissez un contentDescription
pour le ViewGroup
, les services d'accessibilité supposent que vous remplacez également la description des vues enfants non sélectionnables. Cela peut poser problème si vous souhaitez ajouter un libellé à un menu déroulant (par exemple, "Famille de polices") tout en conservant la sélection actuelle à des fins d'accessibilité (par exemple, "Roboto"). Android 16 ajoute setSupplementalDescription
afin que vous puissiez fournir du texte fournissant des informations sur un ViewGroup
sans remplacer les informations de ses enfants.
Champs obligatoires du formulaire
Android 16 ajoute setFieldRequired
à AccessibilityNodeInfo
afin que les applications puissent indiquer à un service d'accessibilité que la saisie dans un champ de formulaire est obligatoire. Il s'agit d'un scénario important pour les utilisateurs qui remplissent de nombreux types de formulaires, même des éléments aussi simples qu'une case à cocher pour les conditions d'utilisation obligatoires, qui les aident à identifier de manière cohérente les champs obligatoires et à passer rapidement d'un champ à l'autre.
Utiliser le téléphone comme entrée micro pour les appels vocaux avec des prothèses auditives LEA
Android 16 permet aux utilisateurs d'appareils auditifs LE Audio de basculer entre les micros intégrés des appareils auditifs et le micro de leur téléphone pour les appels vocaux. Cela peut être utile dans des environnements bruyants ou dans d'autres situations où les micros de l'appareil auditif peuvent ne pas fonctionner correctement.
Commandes de volume ambiant pour les appareils auditifs LEA
Android 16 permet aux utilisateurs d'appareils auditifs LE Audio d'ajuster le volume du son ambiant capté par les micros de l'appareil auditif. Cela peut être utile lorsque le bruit de fond est trop fort ou trop faible.
Appareil photo
Android 16 améliore la prise en charge des utilisateurs professionnels d'appareils photo, en permettant une exposition automatique hybride, ainsi que des ajustements précis de la température et de la teinte des couleurs. Un nouvel indicateur de mode nuit aide votre application à savoir quand passer en mode nuit et à en sortir. Les nouvelles actions Intent
facilitent la capture de photos animées. Nous continuons également à améliorer les images UltraHDR avec la prise en charge de l'encodage HEIF et de nouveaux paramètres issus de la norme ISO 21496-1.
Exposition automatique hybride
Android 16 ajoute de nouveaux modes d'exposition automatique hybrides à Camera2, ce qui vous permet de contrôler manuellement certains aspects de l'exposition tout en laissant l'algorithme d'exposition automatique (AE) gérer le reste. Vous pouvez contrôler ISO + AE et durée d'exposition + AE, ce qui offre une plus grande flexibilité par rapport à l'approche actuelle, où vous avez un contrôle manuel complet ou vous vous appuyez entièrement sur l'exposition automatique.
public void setISOPriority() {
...
int[] availablePriorityModes =
mStaticInfo.getCharacteristics().get(CameraCharacteristics.
COLOR_AE_AVAILABLE_PRIORITY_MODES);
...
// Turn on AE mode to set priority mode
reqBuilder.set(CaptureRequest.CONTROL_AE_MODE,
CameraMetadata.CONTROL_AE_MODE_ON);
reqBuilder.set(CaptureRequest.CONTROL_AE_PRIORITY_MODE,
CameraMetadata.CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY);
reqBuilder.set(CaptureRequest.SENSOR_SENSITIVITY,
TEST_SENSITIVITY_VALUE);
CaptureRequest request = reqBuilder.build();
...
}
Réglages précis de la température et de la teinte des couleurs
Android 16 permet d'ajuster la température et la teinte des couleurs de l'appareil photo pour mieux prendre en charge les applications d'enregistrement vidéo professionnelles. Dans les versions précédentes d'Android, vous pouviez contrôler les paramètres de balance des blancs via CONTROL_AWB_MODE
, qui contient des options limitées à une liste prédéfinie, comme Incandescent (Incandescente), Cloudy (Nuageux) et Twilight (Crépuscule). COLOR_CORRECTION_MODE_CCT
permet d'utiliser COLOR_CORRECTION_COLOR_TEMPERATURE
et COLOR_CORRECTION_COLOR_TINT
pour ajuster précisément la balance des blancs en fonction de la température de couleur corrélée.
public void setCCT() {
...
Range<Integer> colorTemperatureRange =
mStaticInfo.getCharacteristics().get(CameraCharacteristics.
COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE);
// Set to manual mode to enable CCT mode
reqBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CameraMetadata.CONTROL_AWB_MODE_OFF);
reqBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE,
CameraMetadata.COLOR_CORRECTION_MODE_CCT);
reqBuilder.set(CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE, 5000);
reqBuilder.set(CaptureRequest.COLOR_CORRECTION_COLOR_TINT, 30);
CaptureRequest request = reqBuilder.build();
...
}
Les exemples suivants montrent à quoi ressemble une photo après avoir appliqué différents ajustements de température et de teinte de couleur:





Détection de scène en mode Nuit de l'appareil photo
Pour aider votre application à savoir quand passer d'une session d'appareil photo en mode Nuit à une autre, Android 16 ajoute EXTENSION_NIGHT_MODE_INDICATOR
. Si elle est prise en charge, elle est disponible dans CaptureResult
dans Camera2.
Il s'agit de l'API que nous avons brièvement mentionnée comme étant bientôt disponible dans l'article de blog Comment Instagram a permis aux utilisateurs de prendre de superbes photos en basse lumière. Ce post est un guide pratique sur l'implémentation du mode nuit, ainsi qu'une étude de cas qui associe des photos de meilleure qualité dans le mode nuit de l'application à une augmentation du nombre de photos partagées depuis l'appareil photo de l'application.
Actions d'intent de capture de photos animées
Android 16 添加了标准 intent 操作 ACTION_MOTION_PHOTO_CAPTURE
和 ACTION_MOTION_PHOTO_CAPTURE_SECURE
,用于请求相机应用拍摄动态照片并将其返回。
您必须传递额外的 EXTRA_OUTPUT
来控制将图片写入的位置,或者通过 Intent.setClipData(ClipData)
传递 Uri
。如果您未设置 ClipData
,系统会在调用 Context.startActivity(Intent)
时将其复制到该位置。
Améliorations apportées aux images UltraHDR

Android 16 poursuit notre travail visant à offrir une qualité d'image éblouissante avec les images UltraHDR. Il est compatible avec les images UltraHDR au format de fichier HEIC. Ces images recevront le type ImageFormat
HEIC_ULTRAHDR
et contiendront une carte de gain intégrée semblable au format JPEG UltraHDR existant. Nous travaillons également sur la prise en charge d'AVIF pour UltraHDR. Tenez-vous informé.
De plus, Android 16 implémente des paramètres supplémentaires dans UltraHDR à partir de la version préliminaire de la norme ISO 21496-1, y compris la possibilité d'obtenir et de définir l'espace colorimétrique dans lequel les calculs de la carte de gain doivent être appliqués, ainsi que la prise en charge des images de base encodées en HDR avec des cartes de gain SDR.
Graphiques
Android 16 inclut les dernières améliorations graphiques, telles que les effets graphiques personnalisés avec AGLS.
Effets graphiques personnalisés avec AGSL
Android 16 ajoute RuntimeColorFilter
et RuntimeXfermode
, ce qui vous permet de créer des effets complexes tels que le seuil, le sépia et la saturation de la teinte, et de les appliquer aux appels de dessin. Depuis Android 13, vous pouvez utiliser AGSL pour créer des RuntimeShaders personnalisés qui étendent Shader
. La nouvelle API reflète cela, en ajoutant un RuntimeColorFilter
compatible avec AGSL qui étend ColorFilter
et un effet Xfermode
qui vous permet d'implémenter un compositing et un mélange personnalisés basés sur AGSL entre les pixels source et de destination.
private val thresholdEffectString = """
uniform half threshold;
half4 main(half4 c) {
half luminosity = dot(c.rgb, half3(0.2126, 0.7152, 0.0722));
half bw = step(threshold, luminosity);
return bw.xxx1 * c.a;
}"""
fun setCustomColorFilter(paint: Paint) {
val filter = RuntimeColorFilter(thresholdEffectString)
filter.setFloatUniform(0.5);
paint.colorFilter = filter
}
Connectivité
Android 16 met à jour la plate-forme pour donner à votre application accès aux dernières avancées en matière de communication et de technologies sans fil.
Détermination de la position avec sécurité renforcée
Android 16 prend en charge les fonctionnalités de sécurité robustes dans la localisation Wi-Fi sur les appareils compatibles avec la norme 802.11az du Wi-Fi 6, ce qui permet aux applications de combiner la précision, l'évolutivité et la planification dynamique accrues du protocole avec des améliorations de sécurité, y compris le chiffrement basé sur AES-256 et la protection contre les attaques MITM. Cela permet de l'utiliser plus en toute sécurité dans les cas d'utilisation de proximité, comme le déverrouillage d'un ordinateur portable ou d'une porte de véhicule. La norme 802.11az est intégrée à la norme Wi-Fi 6, qui exploite son infrastructure et ses fonctionnalités pour une adoption plus large et un déploiement plus facile.
API de mesure de la distance génériques
Android 16 inclut la nouvelle RangingManager
, qui permet de déterminer la distance et l'angle sur le matériel compatible entre l'appareil local et un appareil distant. RangingManager
prend en charge l'utilisation de diverses technologies de mesure de la distance, telles que la mesure du canal BLE, la mesure de la distance BLE basée sur l'RSSI, la bande ultralarge et le temps aller-retour Wi-Fi.
Contenus multimédias
Android 16 inclut diverses fonctionnalités qui améliorent l'expérience multimédia.
Améliorations apportées au sélecteur de photos
Le sélecteur de photos permet aux utilisateurs d'autoriser votre application à accéder de manière sécurisée et intégrée à des images et vidéos sélectionnées à partir de l'espace de stockage local et cloud, plutôt qu'à l'ensemble de leur bibliothèque multimédia. Grâce à une combinaison de composants système modulaires via les mises à jour du système Google et des services Google Play, il est compatible avec Android 4.4 (niveau d'API 19). L'intégration ne nécessite que quelques lignes de code avec la bibliothèque Android Jetpack associée.
Android 16 inclut les améliorations suivantes apportées au sélecteur de photos:
- Sélecteur de photos intégré: nouvelles API qui permettent aux applications d'intégrer le sélecteur de photos à leur hiérarchie de vues. Cela permet de donner l'impression qu'il s'agit d'une partie plus intégrée de l'application, tout en exploitant l'isolation de processus qui permet aux utilisateurs de sélectionner des contenus multimédias sans que l'application ait besoin d'autorisations trop larges. Pour maximiser la compatibilité entre les versions de la plate-forme et simplifier votre intégration, vous devez utiliser la future bibliothèque Android Jetpack si vous souhaitez intégrer le sélecteur de photos intégré.
- Recherche dans le sélecteur de photos dans le cloud : nouvelles API qui permettent de rechercher des éléments à partir du fournisseur de contenu multimédia dans le cloud pour le sélecteur de photos Android. La fonctionnalité de recherche dans le sélecteur de photos sera bientôt disponible.
Vidéo professionnelle avancée
Android 16 est compatible avec le codec Advanced Professional Video (APV), conçu pour l'enregistrement et la post-production vidéo de haute qualité de niveau professionnel.
La norme de codec APV présente les caractéristiques suivantes:
- Qualité vidéo sans perte perceptible (proche de la qualité vidéo brute)
- Codage intra-frame uniquement à faible complexité et à débit élevé (sans prédiction de domaine de pixels) pour mieux prendre en charge les workflows de montage
- Compatibilité avec une plage de débit binaire élevée allant jusqu'à quelques Gbit/s pour les contenus en résolution 2K, 4K et 8K, grâce à un schéma de codage d'entropie léger
- Mosaïque de frames pour le contenu immersif et pour activer l'encodage et le décodage parallèles
- Compatibilité avec différents formats et profondeurs de bits d'échantillonnage chroma
- Prise en charge du décodage et du réencodage multiples sans dégradation importante de la qualité visuelle
- Prise en charge de la vidéo multivue et des vidéos auxiliaires telles que la profondeur, l'alpha et l'aperçu
- Compatibilité avec HDR10/10+ et métadonnées définies par l'utilisateur
Une implémentation de référence de l'APV est fournie via le projet OpenAPV. Android 16 implémentera la prise en charge du profil APV 422-10, qui fournit un échantillonnage de couleur YUV 422 avec un encodage 10 bits et des débits cibles pouvant atteindre 2 Gbit/s.
Confidentialité
Android 16 inclut diverses fonctionnalités qui aident les développeurs d'applications à protéger la confidentialité des utilisateurs.
Mises à jour de Santé Connect
开发者预览版中的 Health Connect 新增了 ACTIVITY_INTENSITY
,这是一种根据世界卫生组织关于中等强度和剧烈强度活动的指南定义的新数据类型。每个记录都需要提供开始时间、结束时间以及活动强度(中等或剧烈)。
Health Connect 还包含支持健康记录的更新版 API。这样一来,应用便可以在征得用户明确同意的情况下,以 FHIR 格式读取和写入医疗记录。此 API 目前处于抢先体验计划阶段。如果您想参与,请报名参加抢先体验计划。
Privacy Sandbox sur Android
Android 16 intègre la dernière version de la Privacy Sandbox sur Android, qui fait partie de nos efforts continus visant à développer des technologies dans lesquelles les utilisateurs savent que leur confidentialité est protégée. Pour en savoir plus sur le programme bêta de la Privacy Sandbox sur Android pour les développeurs, consultez notre site Web. Découvrez le SDK Runtime, qui permet aux SDK de s'exécuter dans un environnement d'exécution dédié distinct de l'application qu'ils diffusent, offrant des protections plus strictes concernant la collecte et le partage des données utilisateur.
Sécurité
Android 16 inclut des fonctionnalités qui vous aident à améliorer la sécurité de votre application et à protéger ses données.
API de partage de clés
Android 16 ajoute des API permettant de partager l'accès aux clés Android Keystore avec d'autres applications. La nouvelle classe KeyStoreManager
permet d'accorder et de révoquer l'accès aux clés par uid d'application, et inclut une API permettant aux applications d'accéder aux clés partagées.
Facteurs de forme des appareils
Android 16 permet à vos applications de tirer le meilleur parti des facteurs de forme d'Android.
Cadre standardisé de qualité d'image et audio pour les téléviseurs
Le nouveau package MediaQuality
d'Android 16 expose un ensemble d'API standardisées pour accéder aux profils audio et image, ainsi qu'aux paramètres liés au matériel. Cela permet aux applications de streaming d'interroger les profils et de les appliquer aux contenus multimédias de manière dynamique:
- Les films masterisés avec une plage dynamique plus large nécessitent une plus grande précision des couleurs pour voir les détails subtils dans les ombres et s'adapter à la lumière ambiante. Un profil qui privilégie la précision des couleurs à la luminosité peut donc être approprié.
- Les événements sportifs en direct sont souvent masterisés avec une plage dynamique étroite, mais sont souvent regardés en plein jour. Un profil qui privilégie la luminosité à la précision des couleurs peut donc donner de meilleurs résultats.
- Les contenus entièrement interactifs nécessitent un traitement minimal pour réduire la latence et une fréquence d'images plus élevée. C'est pourquoi de nombreux téléviseurs sont livrés avec un profil de jeu.
L'API permet aux applications de basculer entre les profils et aux utilisateurs de régler les téléviseurs compatibles pour qu'ils correspondent au mieux à leur contenu.
Internationalisation
Android 16 ajoute des fonctionnalités qui complètent l'expérience utilisateur lorsqu'un appareil est utilisé dans différentes langues.
Texte vertical
Android 16 ajoute une compatibilité de bas niveau pour l'affichage et la mesure du texte verticalement afin de fournir une compatibilité d'écriture verticale de base aux développeurs de bibliothèques. Cette fonctionnalité est particulièrement utile pour les langues comme le japonais, qui utilisent couramment des systèmes d'écriture verticale. Un nouvel indicateur, VERTICAL_TEXT_FLAG
, a été ajouté à la classe Paint
. Lorsque cet indicateur est défini à l'aide de Paint.setFlags
, les API de mesure du texte de Paint indiquent les avances verticales au lieu des avances horizontales, et Canvas
dessine le texte verticalement.
val text = "「春は、曙。」"
Box(
Modifier.padding(innerPadding).background(Color.White).fillMaxSize().drawWithContent {
drawIntoCanvas { canvas ->
val paint = Paint().apply { textSize = 64.sp.toPx() }
// Draw text vertically
paint.flags = paint.flags or VERTICAL_TEXT_FLAG
val height = paint.measureText(text)
canvas.nativeCanvas.drawText(
text,
0,
text.length,
size.width / 2,
(size.height - height) / 2,
paint
)
}
}
) {}
Personnalisation du système de mesure
Les utilisateurs peuvent désormais personnaliser leur système de mesure dans les préférences régionales dans les paramètres. La préférence de l'utilisateur est incluse dans le code de paramètres régionaux. Vous pouvez donc enregistrer un BroadcastReceiver
sur ACTION_LOCALE_CHANGED
pour gérer les modifications de configuration des paramètres régionaux lorsque les préférences régionales changent.
L'utilisation de formateurs peut vous aider à adapter l'expérience locale. Par exemple, "0,5 pouce" en anglais (États-Unis) correspond à "12,7 mm" pour un utilisateur qui a défini son téléphone sur l'anglais (Danemark) ou qui utilise son téléphone en anglais (États-Unis) avec le système métrique comme système de mesure préféré.
Pour accéder à ces paramètres, ouvrez l'application Paramètres et accédez à System >Languages & region (Système > Langues et région).