Métriques
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.
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 detotalDuration
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 objetJankStats
. Cela a des conséquences sur le rappel deOnFrameListener
, 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 threadFrameMetrics
dans les versions 24 et ultérieures). De plus, l'objetFrameData
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'utiliserJankStats
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
- Changement de nom :
MetricsStateHolder
devient Holder (dansPerformanceMetricsState
). (I5a4d9, b/226565716, b/213499234)
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.