Messwerte

  
Verschiedene Laufzeitmesswerte für Ihre Anwendung erfassen und melden
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpharelease
10. Januar 2024 - - 1.0.0-beta01 -

Abhängigkeiten deklarieren

Zum Hinzufügen einer Abhängigkeit von Metrics 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 Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Groovig

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

Kotlin

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

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

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie 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 eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.0.0

Version 1.0.0-beta01

10. Januar 2024

Die API und die Funktionalität dieser Bibliothek sind seit einiger Zeit stabil. Mit diesem Release wird die Bibliothek lediglich in die Betaversion versetzt.

androidx.metrics:metrics-performance:1.0.0-beta01 wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.

Version 1.0.0-alpha04

5. April 2023

Mit dieser Version wird JankStats auf die neuesten Fehlerkorrekturen aktualisiert, die genauere und umfassendere Zeitinformationen enthalten.

androidx.metrics:metrics-performance:1.0.0-alpha04 wird freigegeben. Version 1.0.0-alpha04 enthält diese Commits.

API-Änderungen

Version 1.0.0-alpha03

27. Juli 2022

androidx.metrics:metrics-performance:1.0.0-alpha03 wird freigegeben. Version 1.0.0-alpha03 enthält diese Commits.

  • Diese Version enthält kleinere API-Verfeinerungen, da die Bibliothek der Betaphase näher rückt. Durch eine der API-Änderungen wird der Executor aus der Factory-Methode createAndTrack() zum Erstellen eines JankStats-Objekts entfernt. Dies wirkt sich auf den OnFrameListener-Callback aus, da dieser Listener nun im Thread aufgerufen wird, das die Daten pro Frame an JankStats liefert (der Haupt-/UI-Thread in Versionen vor API 24 und der FrameMetrics-Thread in API 24+). Darüber hinaus wird das an den Listener übergebene FrameData-Objekt jetzt jeden Frame wiederverwendet. Die Daten von diesem Objekt müssen also während des Callbacks kopiert und an anderer Stelle im Cache gespeichert werden, da dieses Objekt als veraltet angesehen werden sollte.

  • Es gab auch verschiedene Fehlerkorrekturen, einschließlich einiger Nebenläufigkeitsprobleme.

  • Die oben erwähnte Fehlerkorrektur zur Wiederverwendung von FrameData bedeutet jetzt, dass aufgrund der Bereitstellung von Frame-Messwerten jetzt keine Zuweisungen pro Frame vorhanden sind. Bisher gab es nicht viele Zuweisungen. Der neue Ansatz ermöglicht es Ihnen jedoch, JankStats zu verwenden, ohne dass in Ihrer App der GC-Overhead pro Frame anfällt.

API-Änderungen

  • Methoden- und Parameternamen in PerformanceMetricsState wurden aktualisiert, um die Ergebnisse dieser Aufrufe klarer zu gestalten. (I56da5, b/233421985)
  • Benchmark-Tests zum Nachverfolgen von Zuweisungen wurden hinzugefügt und einige interne Zuweisungen im Zusammenhang mit der Verwaltung des Bundesstaats und der Berichterstellung wurden eliminiert. Beachten Sie, dass FrameData, das an Listener übergeben wird, jetzt als flüchtig betrachtet wird. Diese Struktur wird für den nächsten Frame wiederverwendet und die Daten sind nur zuverlässig, bis der Listener zurückkehrt.
  • Executor für JankStats wurde aus dem Konstruktor entfernt. Listener werden jetzt in dem Thread aufgerufen, über das die internen Daten empfangen wurden. (I12743)

Fehlerkorrekturen

  • Absturz durch doppeltes Entfernen von OnFrameMetricsAvailableListener (I44094, b/239457413) behoben
  • Kehren Sie zur ursprünglichen Logik zurück, um OnPreDrawListener-Nachrichten am Anfang der Warteschlange zu posten, um ein konsistentes und vorhersehbares Frame-Timing zu erreichen. (I05a43, b/233358407)
  • Der ConcurrentModificationException-Fehler wurde behoben, bei dem die Liste der Bevollmächtigten für Listener geändert wurde, während sie auch iteriert 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 freigegeben. Version 1.0.0-alpha02 enthält diese Commits.

API-Änderungen

Fehlerkorrekturen

  • Zeitproblem behoben, bei dem Status durch neue Werte ersetzt werden konnten, bevor die Frames verarbeitet wurden, wobei der alte Status korrekt gewesen wäre (aosp/2061892, b/213499234)
  • Die Ausnahme bei gleichzeitiger Änderung beim Hinzufügen/Entfernen von Listenern wurde behoben (aosp/2092714, b/213499234).
  • Startzeit-Berechnungen wurden genauer (aosp/2027704, b/213245198)
  • Es wurde ein 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 freigegeben. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

  • Die JankStats-Bibliothek bietet Funktionen, mit denen du Callbacks in deiner Anwendung zur Laufzeit instrumentieren und empfangen kannst, um echte Leistungsprobleme zu erkennen.
  • JankStats kombiniert eine API, mit der Informationen zum UI-Status ganz einfach eingefügt werden können, mit Funktionen für das Tracking und die Berichterstellung zur Leistung pro Frame. Entwickler können so nicht feststellen, ob bei einer App Leistungsprobleme vorliegen, sondern wann und warum.