Messwerte
Letzte Aktualisierung | Stabile Version | Release-Kandidat | Beta-Ausgabe | Alphaversion |
---|---|---|---|---|
12. März 2025 | - | - | 1.0.0-beta02 | - |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von Metrics hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre App oder Ihr Modul die Abhängigkeiten für die erforderlichen Artefakte hinzu:
Cool
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta02" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta02") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte teilen Sie uns mit, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Sternschaltfläche klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.0.0
Version 1.0.0-beta02
12. März 2025
androidx.metrics:metrics-performance:1.0.0-beta02
wird veröffentlicht. Version 1.0.0-beta02 enthält diese Commits.
Fehlerkorrekturen
- Abstürze bei
DelegatingFrameMetricsListener cannot be cast...
behoben (Id891c, b/311218678)
Version 1.0.0-beta01
10. Januar 2024
Die API und die Funktionen dieser Bibliothek sind seit einiger Zeit stabil. Mit dieser Version wird die Bibliothek einfach in die Betaphase überführt.
androidx.metrics:metrics-performance:1.0.0-beta01
wird veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
Version 1.0.0-alpha04
5. April 2023
Diese Version enthält die neuesten Fehlerkorrekturen für JankStats, darunter genauere und umfassendere Zeitangaben.
androidx.metrics:metrics-performance:1.0.0-alpha04
wird veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
API-Änderungen
cpuDuration
jetzt genauer, auch neuetotalDuration
in API31 (I59ce8, b/243694893)
Version 1.0.0-alpha03
27. Juli 2022
androidx.metrics:metrics-performance:1.0.0-alpha03
wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Diese Version enthält kleinere API-Optimierungen, da die Bibliothek der Betaversion immer näher kommt. Eine der API-Änderungen entfernt den Executor aus der
createAndTrack()
-Factory-Methode zum Erstellen einesJankStats
-Objekts. Das hat Auswirkungen auf denOnFrameListener
-Callback, da dieser Listener jetzt in dem Thread aufgerufen wird, der die Frames anJankStats
sendet (der Main-/UI-Thread in Versionen vor API 24 und derFrameMetrics
-Thread in API 24 und höher). Außerdem wird das an den Listener übergebeneFrameData
-Objekt jetzt bei jedem Frame wiederverwendet. Daher müssen die Daten aus diesem Objekt während des Callbacks an anderer Stelle kopiert und im Cache gespeichert werden, da dieses Objekt als veraltet betrachtet werden sollte, sobald der Listener zurückkehrt.Außerdem wurden verschiedene Fehler behoben, darunter einige Probleme mit der Parallelität.
Durch die oben erwähnte Fehlerbehebung zur Wiederverwendung von
FrameData
gibt es jetzt aufgrund der Übermittlung von Frame-Messwerten keine Zuweisungen pro Frame mehr. Bisher gab es nicht viele Zuordnungen. Mit dem neuen Ansatz können SieJankStats
jedoch verwenden, ohne dass in Ihrer App ein GC-Overhead pro Frame entsteht.
API-Änderungen
- Die Namen von Methoden und Parametern in
PerformanceMetricsState
wurden aktualisiert, um die Ergebnisse dieser Aufrufe verständlicher zu machen. (I56da5, b/233421985) - Es wurden Benchmark-Tests hinzugefügt, um Zuweisungen zu verfolgen. Außerdem wurden einige interne Zuweisungen im Zusammenhang mit Statusverwaltung und Berichterstellung entfernt. Hinweis:
FrameData
, das an Listener übergeben wird, gilt jetzt als flüchtig. Diese Struktur wird für den nächsten Frame wiederverwendet und die Daten sind nur zuverlässig, bis der Listener zurückgegeben wird. - Der Executor wurde aus dem Konstruktor für
JankStats
entfernt. Listener werden jetzt in dem Thread aufgerufen, in dem die internen Daten empfangen wurden. (I12743)
Fehlerkorrekturen
- Absturz durch doppeltes Entfernen von
OnFrameMetricsAvailableListener
behoben (I44094, b/239457413) - Die ursprüngliche Logik, bei der
OnPreDrawListener
-Nachrichten an den Anfang der Warteschlange gestellt wurden, wurde wiederhergestellt, um ein einheitlicheres und vorhersehbareres Frame-Timing zu ermöglichen. (I05a43, b/233358407) - Der Fehler bei
ConcurrentModificationException
wurde behoben, bei dem die Liste der Listener-Delegierten geändert wurde, während sie durchlaufen wurde, um Framesperdaten zu senden. (Ib7693, b/236612357)
Version 1.0.0-alpha02
29. Juni 2022
androidx.metrics:metrics-performance:1.0.0-alpha02
wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
API-Änderungen
MetricsStateHolder
inPerformanceMetricsState
in „Inhaber“ umbenannt: (I5a4d9, b/226565716, b/213499234)
Fehlerkorrekturen
- Ein Timing-Problem wurde behoben, bei dem Status durch neue Werte ersetzt werden konnten, bevor die Frames verarbeitet wurden, bei denen der alte Status korrekt gewesen wäre (aosp/2061892, b/213499234)
- Behebung der Ausnahme bei gleichzeitigen Änderungen beim Hinzufügen/Entfernen von Listenern (aosp/2092714, b/213499234)
- Die Berechnungen für den Startzeitpunkt wurden genauer (aosp/2027704, b/213245198)
- Fehler in der
FrameData.equals()
-Implementierung behoben (aosp/2025866, b/218296544)
Version 1.0.0-alpha01
9. Februar 2022
androidx.metrics:metrics-performance:1.0.0-alpha01
wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
- Die
JankStats
-Bibliothek bietet Funktionen zum Instrumentieren und Empfangen von Rückrufen in Ihrer Anwendung zur Laufzeit, mit denen sich reale Leistungsprobleme finden lassen. JankStats
kombiniert eine API, mit der sich Informationen zum UI-Status ganz einfach einfügen lassen, mit Funktionen zum Erfassen und Melden der Leistung pro Frame. So können Entwickler nicht nur feststellen, ob eine Anwendung Leistungsprobleme hat, sondern auch wann und warum.