Messwerte

  
Verschiedene Laufzeitmesswerte für Ihre Anwendung erfassen und melden
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Release Alpha-Release
27. August 2025 - - 1.0.0-beta03 -

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 benötigten Artefakte hinzu:

Cool

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

Kotlin

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

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, 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 für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.0.0

Version 1.0.0-beta03

27. August 2025

androidx.metrics:metrics-performance:1.0.0-beta03 wird veröffentlicht. Version 1.0.0-beta03 enthält diese Commits.

Fehlerkorrekturen

  • Fehler behoben: IllegalArgumentException („Versuch, OnFrameMetricsAvailableListener zu entfernen, das nie hinzugefügt wurde“). Es wird nicht versucht, das Frame-Timing aufzuzeichnen, wenn ein Fenster nicht hardwarebeschleunigt ist, da dies von Window.OnFrameMetricsAvailableListener nicht unterstützt wird. (I8fef2, b/436880904)

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... beheben (Id891c, b/311218678).

Version 1.0.0-beta01

10. Januar 2024

Die API und die Funktionen dieser Bibliothek sind seit einiger Zeit stabil. In dieser Version wird die Bibliothek lediglich in die Betaphase verschoben.

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

In dieser Version wird JankStats auf die neuesten Korrekturen aktualisiert, die genauere und umfassendere Zeitinformationen enthalten.

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, außerdem neue totalDuration auf 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 sich die Bibliothek der Betaversion nähert. Bei einer der API-Änderungen wird der Executor aus der createAndTrack()-Factory-Methode zum Erstellen eines JankStats-Objekts entfernt. Dies hat Auswirkungen auf den OnFrameListener-Callback, da dieser Listener jetzt im Thread aufgerufen wird, der die Daten pro Frame an JankStats liefert (der Main-/UI-Thread in Versionen vor API 24 und der FrameMetrics-Thread in API 24+). Außerdem wird das an den Listener übergebene FrameData-Objekt jetzt für jeden Frame wiederverwendet. Daten aus diesem Objekt müssen daher während des Callbacks kopiert und an anderer Stelle im Cache gespeichert werden, da das Objekt als veraltet gilt, sobald der Listener zurückkehrt.

  • Außerdem wurden verschiedene Fehler behoben, darunter einige Probleme mit der Parallelität.

  • Die oben erwähnte Korrektur zur Wiederverwendung von FrameData führt dazu, dass es aufgrund der Bereitstellung von Frame-Messwerten jetzt keine Zuweisungen pro Frame mehr gibt. Bisher gab es nicht viele Zuweisungen, aber mit dem neuen Ansatz können Sie JankStats verwenden, ohne dass in Ihrer App ein GC-Overhead pro Frame entsteht.

API-Änderungen

  • Die Methoden- und Parameternamen in PerformanceMetricsState wurden aktualisiert, um die Ergebnisse dieser Aufrufe deutlicher zu machen. (I56da5, b/233421985)
  • Es wurden Benchmark-Tests hinzugefügt, um Zuweisungen zu verfolgen. Außerdem wurden einige interne Zuweisungen im Zusammenhang mit der Statusverwaltung und Berichterstellung entfernt. 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 bis zur Rückgabe des Listeners zuverlässig.
  • 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 aufgrund des doppelten Entfernens von OnFrameMetricsAvailableListener behoben (I44094, b/239457413)
  • Rückkehr zur ursprünglichen Logik des Postens von OnPreDrawListener-Nachrichten am Anfang der Warteschlange für ein konsistenteres und vorhersehbareres Frame-Timing. (I05a43, b/233358407)
  • Der ConcurrentModificationException-Fehler wurde behoben, bei dem die Liste der Listener-Delegaten geändert wurde, während sie auch durchlaufen wurde, um Daten pro Frame 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

Fehlerkorrekturen

  • Ein Timing-Problem wurde behoben, durch das Statuswerte durch neue Werte ersetzt werden konnten, bevor die Frames verarbeitet wurden, in denen der alte Status korrekt gewesen wäre (aosp/2061892, b/213499234).
  • Die ConcurrentModificationException beim Hinzufügen/Entfernen von Listenern wurde behoben (aosp/2092714, b/213499234).
  • Die Berechnung von „startTime“ wurde 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 Callbacks in Ihrer Anwendung zur Laufzeit, mit denen Sie Leistungsprobleme in der Praxis finden können.
  • JankStats kombiniert eine API, mit der sich Informationen zum UI-Status 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.