
**Introduction**
Avec le large éventail d’appareils de l’écosystème Android, il est difficile de concevoir des expériences qui tirent parti des nouvelles fonctionnalités matérielles tout en garantissant un bon fonctionnement pour tous les utilisateurs. Android 12 a introduit la norme Performance Class (MPC) pour aider les développeurs à mieux comprendre les capacités d’un appareil et à identifier les appareils les plus performants.
**La classe Performance Class débloque le lancement d’une expérience premium pour Google Maps**
Google Maps a récemment profité de la couverture étendue des appareils grâce au module Play Services pour débloquer le lancement d’une fonctionnalité. Google Maps souhaitait mettre à jour son interface utilisateur en augmentant la transparence de certaines couches. Cela impliquait de rendre une plus grande partie de la carte et l’équipe a constaté qu’elle devait arrêter le déploiement en raison de l’augmentation de la latence sur de nombreux appareils, en particulier ceux de bas de gamme. Pour résoudre ce problème, l’équipe Maps a commencé par découper une métrique clé existante, « secondes jusqu’à la visibilité de l’élément de l’interface utilisateur », par niveau MPC, ce qui a révélé que si tous les appareils présentaient une légère augmentation de cette latence, les appareils sans niveau MPC présentaient la plus forte augmentation.
**Le nouveau module Play Services**
Les exigences de niveau MPC sont définies dans l’Android Compatibility Definition Document (CDD), puis les appareils et les builds Android sont validés par rapport à ces exigences par l’Android Compatibility Test Suite (CTS). Le module Play Services de la bibliothèque Jetpack Core Performance exploite ces résultats de test pour mettre à jour en permanence le niveau MPC déclaré par un appareil, sans effort supplémentaire de votre part. Cela signifie également que vous aurez immédiatement accès au niveau MPC pour les lancements de nouveaux appareils sans avoir à acquérir et à tester chaque appareil vous-même, car ils ont déjà passé le CTS. Si le niveau MPC n’est pas disponible sur Google Play Services, la bibliothèque se rabattra sur le niveau MPC déclaré par l’OEM en tant que constante de build.
**Utilisation de la bibliothèque Core Performance**
Pour utiliser Jetpack Core Performance, commencez par ajouter une dépendance pour les modules pertinents dans votre configuration Gradle et créez une instance de DevicePerformance. L’initialisation de DevicePerformance ne doit se produire qu’une seule fois dans votre application, dès que possible – par exemple, dans l’événement de cycle de vie onCreate() de votre Application. Dans cet exemple, nous utiliserons l’implémentation Google Play Services de DevicePerformance.
« `java
// Implémentation de la bibliothèque Jetpack Core.
implementation(« androidx.core:core-ktx:1.12.0 »)
// Active les API pour interroger la classe de performances déclarée par l’appareil.
implementation(« androidx.core:core-performance:1.0.0 »)
// Active les API pour interroger Google Play Services pour la classe de performance.
implementation(« androidx.core:core-performance-play-services:1.0.0 »)
« `
« `kotlin
import androidx.core.performance.play.services.PlayServicesDevicePerformance
class MyApplication : Application() {
lateinit var devicePerformance: DevicePerformance
override fun onCreate() {
// Utilisez une classe dérivée de l’interface DevicePerformance
devicePerformance = PlayServicesDevicePerformance(applicationContext)
}
}
« `
Puis, plus tard dans votre application, lorsque vous souhaitez récupérer le niveau MPC de l’appareil, vous pouvez appeler getMediaPerformanceClass() :
« `kotlin
class MyActivity : Activity() {
private lateinit var devicePerformance: DevicePerformance
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Note : Une bonne architecture d’application consiste à utiliser un framework de dépendances. Voir
// https://developer.android.com/training/dependency-injection pour plus
// d’informations.
devicePerformance = (application as MyApplication).devicePerformance
}
override fun onResume() {
super.onResume()
when {
devicePerformance.mediaPerformanceClass >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE -> {
// Niveau MPC 34 et ultérieur.
// Fournissez l’expérience la plus premium pour les appareils les plus performants.
}
devicePerformance.mediaPerformanceClass == Build.VERSION_CODES.TIRAMISU -> {
// Niveau MPC 33.
// Offrez une expérience de haute qualité.
}
else -> {
// Niveau MPC 31, 30 ou indéfini.
// Supprimez les éléments supplémentaires pour que l’expérience reste fonctionnelle.
}
}
}
}
« `
**Stratégies d’utilisation de la classe Performance**
MPC est destiné à identifier les appareils haut de gamme, vous pouvez donc vous attendre à voir des niveaux MPC pour les meilleurs appareils de chaque année, qui sont les appareils que vous voudrez probablement prendre en charge le plus longtemps. Par exemple, le Pixel 9 Pro lancé avec Android 14 et indique un niveau MPC de 34, la dernière définition de niveau lors de son lancement.
**Conclusion**
La classe Performance Class est un outil précieux pour optimiser les expériences des applications sur une large gamme d’appareils Android. En utilisant cette norme, les développeurs peuvent identifier les appareils les plus performants et adapter leurs applications en conséquence, offrant ainsi aux utilisateurs des expériences fluides et de haute qualité.
**Mots-clés :** Classe Performance, Google Maps, Optimisation des performances, Android, Développement d’applications, Développement Android
