Dane

  
Śledź i raportuj różne dane w czasie działania aplikacji
Najnowsza aktualizacja Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
10 stycznia 2024 r. - - 1.0.0-beta01 -

Deklarowanie zależności

Aby dodać zależność od wskaźników, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Odlotowy

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

Kotlin

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

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.0.0

Wersja 1.0.0-beta01

10 stycznia 2024 r.

Interfejs API i funkcje tej biblioteki były od jakiegoś czasu stabilne. Ta wersja po prostu przenosi bibliotekę do wersji beta.

Aplikacja androidx.metrics:metrics-performance:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Wersja 1.0.0-alfa04

5 kwietnia 2023 r.

Ta wersja aktualizuje JankStats do najnowszych poprawek, które obejmują dokładniejsze i dokładniejsze informacje o czasie.

Aplikacja androidx.metrics:metrics-performance:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Opcja cpuDuration jest teraz dokładniejsza, a także nowa totalDuration dla API31 (I59ce8, b/243694893)

Wersja 1.0.0-alfa03

27 lipca 2022 roku

Aplikacja androidx.metrics:metrics-performance:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.

  • Ta wersja zawiera drobne ulepszenia interfejsu API w miarę zbliżania się wersji beta biblioteki do wersji beta. Jedna ze zmian w interfejsie API powoduje usunięcie wykonawcy z metody fabryki createAndTrack() służącej do utworzenia obiektu JankStats. Ma to wpływ na wywołanie zwrotne OnFrameListener, ponieważ detektor jest teraz wywoływany w wątku, który dostarcza dane z ramki do interfejsu JankStats (wątek główny/interfejs w przypadku wersji starszych niż API 24 i wątek FrameMetrics w interfejsie API 24 i nowszych). Poza tym obiekt FrameData przekazywany do detektora jest teraz używany w każdej klatce, więc dane z tego obiektu powinny zostać skopiowane i zapisane w pamięci podręcznej podczas wywołania zwrotnego

  • Naprawiliśmy też różne błędy, w tym problemy związane z równoczesnością.

  • Na koniec poprawka dotycząca ponownego wykorzystywania elementu FrameData (wspomniana powyżej) oznacza, że obecnie nie ma przydziałów na klatkę ze względu na dostarczanie danych dotyczących klatek. Wcześniej nie było zbyt wielu przydziałów, ale nowe podejście oznacza, że możesz używać JankStats bez ponoszenia dodatkowych kosztów GC w aplikacji.

Zmiany w interfejsie API

  • Zaktualizowaliśmy nazwy metod i parametrów w elemencie PerformanceMetricsState, aby zwiększyć czytelność wyników tych wywołań. (I56da5, b/233421985)
  • Dodanie testów porównawczych do śledzenia alokacji i usunięcie niektórych wewnętrznych przydziałów związanych z zarządzaniem przez stan i raportowaniem. Pamiętaj, że parametr FrameData przekazywany do detektorów jest teraz uważany za zmienną. Ta struktura zostanie użyta ponownie w następnej klatce, a dane będą wiarygodne, dopóki detektor nie wróci.
  • Usunięto wykonawcę z konstruktora dla elementu JankStats. Detektory są teraz wywoływane w dowolnym wątku, w którym zostały odebrane dane wewnętrzne. (I12743).

Poprawki błędów

  • Naprawiono awarię spowodowaną dwukrotnym usunięciem instancji OnFrameMetricsAvailableListener (I44094, b/239457413)
  • Wróć do pierwotnej logiki publikowania OnPreDrawListener wiadomości na początku kolejki, aby zapewnić bardziej spójny i przewidywalny czas renderowania klatki. (I05a43, b/233358407)
  • Naprawiliśmy błąd ConcurrentModificationException polegający na tym, że lista przedstawicieli nasłuchujących była modyfikowana podczas jej iteracji w celu wysyłania danych z każdej klatki. (Ib7693, b/236612357)

Wersja 1.0.0-alfa02

29 czerwca 2022 r.

Aplikacja androidx.metrics:metrics-performance:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

Poprawki błędów

Wersja 1.0.0-alfa01

9 lutego 2022 r.

Aplikacja androidx.metrics:metrics-performance:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Biblioteka JankStats umożliwia instrumentowanie i odbieranie wywołań zwrotnych w aplikacji w czasie działania, co może pomóc w wykrywaniu rzeczywistych problemów z wydajnością.
  • JankStats łączy interfejs API, który ułatwia wstrzykiwanie informacji o stanie interfejsu, z możliwością śledzenia i raportowania wydajności na ramkę. Dzięki temu deweloperzy nie wiedzą, czy występują problemy z wydajnością aplikacji, tylko kiedy i dlaczego.