Métriques

  
Suivez et analysez différentes métriques d'exécution pour votre application.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
10 janvier 2024 - - 1.0.0-beta01 -

Déclarer des dépendances

Pour ajouter une dépendance sur Metrics, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

dependencies {
    implementation "androidx.metrics:metrics-performance:1.0.0-beta01"
}

Kotlin

dependencies {
    implementation("androidx.metrics:metrics-performance:1.0.0-beta01")
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Version 1.0.0

Version 1.0.0-beta01

10 janvier 2024

L'API et les fonctionnalités de cette bibliothèque sont stables depuis un certain temps. Cette version déploie simplement la bibliothèque en version bêta.

Publication d'androidx.metrics:metrics-performance:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01

Version 1.0.0-alpha04

5 avril 2023

Cette version met à jour JankStats avec les derniers correctifs, qui incluent des informations temporelles plus précises et plus complètes.

Publication d'androidx.metrics:metrics-performance:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04

Modifications apportées à l'API

  • Mise à jour de cpuDuration, désormais plus précis. Ajout de totalDuration sur API31. (I59ce8, b/243694893)

Version 1.0.0-alpha03

27 juillet 2022

Publication d'androidx.metrics:metrics-performance:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

  • Cette version contient des améliorations mineures de l'API à l'approche du lancement de la version bêta de la bibliothèque. L'exécuteur a notamment été supprimé de la méthode de fabrique createAndTrack() lors de la création d'un objet JankStats. Cela a des conséquences sur le rappel de OnFrameListener, car cet écouteur est désormais appelé sur le thread qui fournit les données de chaque frame à JankStats (le thread principal/UI dans les versions antérieures à l'API 24, et le thread FrameMetrics dans les versions 24 et ultérieures). De plus, l'objet FrameData transmis à l'écouteur est désormais réutilisé pour chaque frame. Cela implique de copier et mettre en cache ailleurs les données de cet objet pendant le rappel, car l'objet doit être considéré comme obsolète dès le retour de l'écouteur.

  • Nous avons également corrigé plusieurs bugs, y compris des problèmes de simultanéité.

  • Enfin, comme l'objet FrameData est maintenant réutilisé (voir ci-dessus), il n'y a plus d'allocation par frame à cause de l'envoi des métriques liées aux frames. Il n'y avait pas beaucoup d'allocations auparavant, mais la nouvelle approche permet d'utiliser JankStats sans surcharger la récupération de mémoire par frame dans votre application.

Modifications apportées à l'API

  • Mise à jour des noms des méthodes et des paramètres dans PerformanceMetricsState afin de clarifier les résultats de ces appels. (I56da5, b/233421985)
  • Ajout de tests comparatifs pour suivre les allocations, et suppression de certaines allocations internes liées à la gestion de l'état et aux rapports. Désormais, l'objet FrameData transmis aux écouteurs est considéré comme volatile. Cette structure sera réutilisée pour le frame suivant et la fiabilité des données est assurée seulement jusqu'au retour de l'écouteur.
  • Suppression de l'exécuteur du constructeur pour JankStats. Les écouteurs sont maintenant appelés sur le thread de réception des données internes. (I12743)

Correction de bugs

  • Correction du plantage dû à la double suppression de OnFrameMetricsAvailableListener. (I44094, b/239457413)
  • Retour à la logique d'origine, qui consiste à publier les messages OnPreDrawListener au début de la file d'attente, pour un temps de rendu plus cohérent et prévisible. (I05a43, b/233358407)
  • Correction du bug ConcurrentModificationException entraînant la modification de la liste des délégués d'écouteurs alors qu'elle était également itérée pour envoyer les données de chaque frame. (Ib7693, b/236612357)

Version 1.0.0-alpha02

29 juin 2022

Publication d'androidx.metrics:metrics-performance:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Modifications apportées à l'API

Correction de bugs

  • Correction du problème de temps de rendu provoquant le remplacement des états par de nouvelles valeurs avant la fin du traitement des frames, alors que l'ancien état aurait été correct. (aosp/2061892, b/213499234)
  • Correction de l'exception de modification simultanée lors de l'ajout ou de la suppression d'écouteurs. (aosp/2092714, b/213499234)
  • Amélioration de la précision des calculs de l'heure de début. (aosp/2027704, b/213245198)
  • Correction d'un bug dans l'implémentation de FrameData.equals(). (aosp/2025866, b/218296544)

Version 1.0.0-alpha01

9 février 2022

Publication d'androidx.metrics:metrics-performance:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Nouvelles fonctionnalités

  • La bibliothèque JankStats fournit des fonctionnalités pour instrumenter et recevoir des rappels dans votre application lors de l'exécution, ce qui peut aider à détecter des problèmes de performances réels.
  • JankStats combine une API qui permet d'injecter facilement des informations sur l'état de l'interface utilisateur et des fonctionnalités de suivi des performances par frame et de rapports. Les développeurs peuvent ainsi déterminer exactement où une application présente des problèmes de performances et pourquoi, et pas seulement si elle est concernée par ces problèmes.