Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
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.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-27 (UTC)."],[],[],null,["Metrics \nAPI Reference \n[androidx.metrics.performance](/reference/kotlin/androidx/metrics/performance/package-summary) \nTrack and report various runtime metrics for your application \n\n| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |\n|-----------------|----------------|-------------------|-----------------------------------------------------------------|---------------|\n| August 27, 2025 | - | - | [1.0.0-beta03](/jetpack/androidx/releases/metrics#1.0.0-beta03) | - |\n\nDeclaring dependencies\n\nTo add a dependency on Metrics, you must add the Google Maven repository to your\nproject. Read [Google's Maven repository](/studio/build/dependencies#google-maven)\nfor more information.\n\nAdd the dependencies for the artifacts you need in the `build.gradle` file for\nyour app or module: \n\nGroovy \n\n```groovy\ndependencies {\n implementation \"androidx.metrics:metrics-performance:1.0.0-beta03\"\n}\n```\n\nKotlin \n\n```kotlin\ndependencies {\n implementation(\"androidx.metrics:metrics-performance:1.0.0-beta03\")\n}\n```\n\nFor more information about dependencies, see [Add build dependencies](/studio/build/dependencies).\n\nFeedback\n\nYour feedback helps make Jetpack better. Let us know if you discover new issues or have\nideas for improving this library. Please take a look at the\n[existing issues](https://issuetracker.google.com/issues?q=componentid:1109743%20status:open)\nin this library before you create a new one. You can add your vote to an existing issue by\nclicking the star button.\n\n[Create a new issue](https://issuetracker.google.com/issues/new?component=1109743&template=1621342)\n\nSee the [Issue Tracker documentation](https://developers.google.com/issue-tracker)\nfor more information.\n\nVersion 1.0.0\n\nVersion 1.0.0-beta03\n\nAugust 27, 2025\n\n`androidx.metrics:metrics-performance:1.0.0-beta03` is released. Version 1.0.0-beta03 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/7a145e052ae61e272e91ffe285e9451b8ab71870..cd8ce2bdb21194a81a76325a8e65dad5d7e28681/metrics/metrics-performance).\n\n**Bug Fixes**\n\n- Fix `IllegalArgumentException`(\"attempt to remove `OnFrameMetricsAvailableListener` that was never added\"). No attempt is made to record frame timing when a window isn't hardware accelerated, as this isn't supported by `Window.OnFrameMetricsAvailableListener`. ([I8fef2](https://android-review.googlesource.com/#/q/I8fef2d16449a9a50a2092200d28e45baae537e22), [b/436880904](https://issuetracker.google.com/issues/436880904))\n\nVersion 1.0.0-beta02\n\nMarch 12, 2025\n\n`androidx.metrics:metrics-performance:1.0.0-beta02` is released. Version 1.0.0-beta02 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/7a45f0bc9e0a73744b3780a6f92e1b570de58bba..7a145e052ae61e272e91ffe285e9451b8ab71870/metrics/metrics-performance).\n\n**Bug Fixes**\n\n- Fix crashes `DelegatingFrameMetricsListener cannot be cast...` ([Id891c](https://android-review.googlesource.com/#/q/Id891c0cfdd7f45ef9e3b068644a113f39c8fc383), [b/311218678](https://issuetracker.google.com/issues/311218678)).\n\nVersion 1.0.0-beta01\n\nJanuary 10, 2024\n\nThe API and functionality of this library has been stable for some time. This release simply pushes the library to beta.\n\n`androidx.metrics:metrics-performance:1.0.0-beta01` is released. [Version 1.0.0-beta01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/a200cb82769634cecdb118ec4f0bfdf0b086e597..7a45f0bc9e0a73744b3780a6f92e1b570de58bba/metrics/metrics-performance)\n\nVersion 1.0.0-alpha04\n\nApril 5, 2023\n\nThis release updates JankStats to the latest fixes, which include more accurate and comprehensive timing information.\n\n`androidx.metrics:metrics-performance:1.0.0-alpha04` is released. [Version 1.0.0-alpha04 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/a7f0710ad21f556f0dde9bf7bdab6d2135170fd4..a200cb82769634cecdb118ec4f0bfdf0b086e597/metrics/metrics-performance)\n\n**API Changes**\n\n- `cpuDuration` now more accurate, also new `totalDuration` on API31 ([I59ce8](https://android-review.googlesource.com/#/q/I59ce8c67f06a168f96893375c8aeca5516a55d81), [b/243694893](https://issuetracker.google.com/issues/243694893))\n\nVersion 1.0.0-alpha03\n\nJuly 27, 2022\n\n`androidx.metrics:metrics-performance:1.0.0-alpha03` is released. [Version 1.0.0-alpha03 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/8094b683499b4098092c01028b55a38b49e357f2..a7f0710ad21f556f0dde9bf7bdab6d2135170fd4/metrics/metrics-performance)\n\n- This release contains minor API refinements as the library gets closer to beta. One of the API changes removes the Executor from the `createAndTrack()` factory method for creating a `JankStats` object. This has implications for the `OnFrameListener` callback, as that listener is now called on the thread which delivers the per-frame data to `JankStats` (the Main/UI thread on versions earlier than API 24, and the `FrameMetrics` thread on API 24+). Moreover, the `FrameData` object passed to the listener is now reused every frame, so data from that object must be copied and cached elsewhere during the callback, as that object should be considered obsolete as soon as the listener returns.\n\n- There were also various bug fixes, including some concurrency issues.\n\n- Finally, the fix to reuse `FrameData` (mentioned above) means that there are now zero allocations per frame due to frame metrics delivery. There weren't many allocations before, but the new approach means that you can use `JankStats` without incurring any per-frame GC overhead in your app.\n\n**API Changes**\n\n- Updated method and parameter names in `PerformanceMetricsState` to make the results of those calls clearer. ([I56da5](https://android-review.googlesource.com/#/q/I56da57b13818bf4077a64ab144222ce255f4539a), [b/233421985](https://issuetracker.google.com/issues/233421985))\n- Added benchmark tests to track allocations, eliminated some internal allocations related to state management and reporting. Note that `FrameData` passed to listeners is now considered volatile; that structure will be reused for the next frame and the data is only reliable until the listener returns.\n- Removed Executor from constructor for `JankStats`; listeners are now called on whatever thread the internal data was received upon. ([I12743](https://android-review.googlesource.com/#/q/I1274320bf29c171b82578868e657a3b01f7805c7))\n\n**Bug Fixes**\n\n- Fixed crash due to double-removal of `OnFrameMetricsAvailableListener` ([I44094](https://android-review.googlesource.com/#/q/I4409483d6e2f7287a0a93f521f68a4be9e22d969), [b/239457413](https://issuetracker.google.com/issues/239457413))\n- Return to original logic of posting `OnPreDrawListener` messages at front of queue, for more consistent and predictable frame timing. ([I05a43](https://android-review.googlesource.com/#/q/I05a434fe9453ea1be28d398e3eb284dd9b0cb64a), [b/233358407](https://issuetracker.google.com/issues/233358407))\n- Fixed `ConcurrentModificationException` bug where the list of listener delegates was being modified while it was also being iterated through to send per-frame data. ([Ib7693](https://android-review.googlesource.com/#/q/Ib769386f18e51dc6b58c935b42c5b8566c644abc), [b/236612357](https://issuetracker.google.com/issues/236612357))\n\nVersion 1.0.0-alpha02\n\nJune 29, 2022\n\n`androidx.metrics:metrics-performance:1.0.0-alpha02` is released. [Version 1.0.0-alpha02 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/db2ecbef194afcddfaede22e1d884a8959a9277c..8094b683499b4098092c01028b55a38b49e357f2/metrics/metrics-performance)\n\n**API Changes**\n\n- Renamed `MetricsStateHolder` to just Holder (within `PerformanceMetricsState`): ([I5a4d9](https://android-review.googlesource.com/#/q/I5a4d9095520399a146e6fd78eb50c86a7051738b), [b/226565716](https://issuetracker.google.com/issues/226565716), [b/213499234](https://issuetracker.google.com/issues/213499234))\n\n**Bug Fixes**\n\n- Fixed timing issue where states could be replaced with new values before the frames had been processed where the old state would have been correct ([aosp/2061892](https://android-review.googlesource.com/c/platform/frameworks/support/+/2061892/), [b/213499234](https://issuetracker.google.com/issues/213499234))\n- Fixed concurrent modification exception in adding/removing listeners ([aosp/2092714](https://android-review.googlesource.com/c/platform/frameworks/support/+/2092714/), [b/213499234](https://issuetracker.google.com/issues/230388846))\n- Made startTime calculations more accurate ([aosp/2027704](https://android-review.googlesource.com/c/platform/frameworks/support/+/2027704/), [b/213245198](https://issuetracker.google.com/issues/213245198))\n- Fixed bug in `FrameData.equals()` implementation ([aosp/2025866](https://android-review.googlesource.com/c/platform/frameworks/support/+/2025866/), [b/218296544](https://issuetracker.google.com/issues/218296544))\n\nVersion 1.0.0-alpha01\n\nFebruary 9, 2022\n\n`androidx.metrics:metrics-performance:1.0.0-alpha01` is released. [Version 1.0.0-alpha01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/db2ecbef194afcddfaede22e1d884a8959a9277c/metrics/metrics-performance)\n\n**New Features**\n\n- The `JankStats` library provides functionality to instrument and receive callbacks in your application at runtime which can help find real world performance problems.\n- `JankStats` combines an API that makes it easy to inject information about UI state with capabilities for tracking and reporting per-frame performance to allow developers to understand not whether an application has performance issues, but when and why."]]