Dane

  
Śledzenie i raportowanie różnych danych dotyczących działania aplikacji
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca Wersja Beta Wersja alfa
12 marca 2025 r. - - 1.0.0-beta02 -

Deklarowanie zależności

Aby dodać zależność od Metrics, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

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

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

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

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz zagłosować na istniejący problem, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

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

Wersja 1.0.0

Wersja 1.0.0-beta02

12 marca 2025 r.

androidx.metrics:metrics-performance:1.0.0-beta02 został zwolniony. Wersja 1.0.0-beta02 zawiera te komity.

Poprawki błędów

  • Rozwiązanie problemów z awariami DelegatingFrameMetricsListener cannot be cast... (Id891c, b/311218678).

Wersja 1.0.0-beta01

10 stycznia 2024 r.

Interfejs API i funkcje tej biblioteki są stabilne od jakiegoś czasu. Ta wersja po prostu wprowadza bibliotekę do wersji beta.

androidx.metrics:metrics-performance:1.0.0-beta01 został zwolniony. Wersja 1.0.0-beta01 zawiera te commity.

Wersja 1.0.0-alpha04

5 kwietnia 2023 r.

Ta wersja zawiera aktualizację JankStats do najnowszych poprawek, które obejmują dokładniejsze i bardziej kompleksowe informacje o czasie.

androidx.metrics:metrics-performance:1.0.0-alpha04 został zwolniony. Wersja 1.0.0-alpha04 zawiera te commity.

Zmiany w interfejsie API

  • cpuDuration teraz bardziej dokładne, a także nowe totalDuration w interfejsie API 31 (I59ce8, b/243694893)

Wersja 1.0.0-alpha03

27 lipca 2022 roku

androidx.metrics:metrics-performance:1.0.0-alpha03 został zwolniony. Wersja 1.0.0-alpha03 zawiera te commity.

  • Ta wersja zawiera drobne udoskonalenia interfejsu API, ponieważ biblioteka zbliża się do wersji beta. Jedną z zmian w interfejsie API jest usunięcie wykonawcy z metody fabrycznej createAndTrack() służącej do tworzenia obiektu JankStats. Ma to wpływ na wywołanie zwrotne OnFrameListener, ponieważ ten odbiorca jest teraz wywoływany w wątku, który dostarcza dane dotyczące poszczególnych klatek do JankStats (w wersjach starszych niż API 24 jest to wątek główny/UI, a w wersjach od API 24 – wątek FrameMetrics). Ponadto obiekt FrameData przekazywany do odbiornika jest teraz używany ponownie w każdej klatce, więc dane z tego obiektu muszą być kopiowane i przechowywane w pamięci podręcznej w innym miejscu podczas wywołania zwrotnego, ponieważ obiekt powinien być uważany za nieaktualny, gdy tylko odbiorca zwróci wartość.

  • Wprowadziliśmy też różne poprawki błędów, w tym dotyczące problemów z jednoczesnością.

  • Na koniec poprawka dotycząca ponownego użycia FrameData (wymieniona powyżej) oznacza, że z powodu dostarczania danych o klatkach nie ma już żadnych alokacji na klatkę. Wcześniej nie było zbyt wielu alokacji, ale nowe podejście oznacza, że możesz używać JankStats bez generowania dodatkowych obciążeń GC w aplikacji na każdy kadr.

Zmiany w interfejsie API

  • Zaktualizowaliśmy nazwy metod i parametrów w funkcji PerformanceMetricsState, aby wyniki tych wywołań były bardziej przejrzyste. (I56da5, b/233421985)
  • Dodano testy porównawcze do śledzenia alokacji. Usunięto niektóre alokacje wewnętrzne związane z zarządzaniem stanem i raportowaniem. Pamiętaj, że przekazywana odbiorcom zmienna FrameData jest teraz uważana za zmienną; ta struktura zostanie użyta ponownie w następnym kadrze, a dane są wiarygodne tylko do czasu powrotu odbiornika.
  • Usunięto Executor z konstruktora w przypadku JankStats; od teraz odsłuchi są wywoływane w dowolnym wątku, w którym odbierane są dane wewnętrzne. (I12743)

Poprawki błędów

  • Usunięto awarię spowodowaną dwukrotnym usunięciem OnFrameMetricsAvailableListener (I44094, b/239457413).
  • Powrót do pierwotnej logiki publikowania wiadomości OnPreDrawListener na początku kolejki, aby zapewnić bardziej spójne i przewidywalne opóźnienie klatek. (I05a43, b/233358407)
  • Usunęliśmy błąd ConcurrentModificationException, który powodował, że lista delegatów odbiorców była modyfikowana, gdy była też iterowana w celu wysłania danych dotyczących poszczególnych klatek. (Ib7693, b/236612357)

Wersja 1.0.0-alpha02

29 czerwca 2022 r.

androidx.metrics:metrics-performance:1.0.0-alpha02 został zwolniony. Wersja 1.0.0-alpha02 zawiera te commity.

Zmiany w interfejsie API

Poprawki błędów

  • Rozwiązaliśmy problem z synchronizacją, który powodował, że stany mogły zostać zastąpione nowymi wartościami przed przetworzeniem klatek, w których stary stan byłby prawidłowy (aosp/2061892, b/213499234).
  • Naprawiono wyjątek dotyczący jednoczesnej modyfikacji podczas dodawania/usuwania słuchaczy (aosp/2092714, b/213499234)
  • Dokładniejsze obliczenia wartości startTime (aosp/2027704, b/213245198)
  • Naprawiono błąd w implementacji FrameData.equals() (aosp/2025866, b/218296544)

Wersja 1.0.0-alpha01

9 lutego 2022 r.

androidx.metrics:metrics-performance:1.0.0-alpha01 został zwolniony. Wersja 1.0.0-alpha01 zawiera te commity.

Nowe funkcje

  • Biblioteka JankStats udostępnia funkcje do instrumentowania i odbierania wywołań zwrotnych w aplikacji w czasie wykonywania, co może pomóc w rozwiązywaniu problemów z wydajnością w rzeczywistych warunkach.
  • JankStats łączy interfejs API, który ułatwia wprowadzanie informacji o stanie interfejsu użytkownika, z możliwościami śledzenia i raportowania wydajności w ramach poszczególnych klatek, dzięki czemu deweloperzy nie tylko dowiadują się, czy aplikacja ma problemy z wydajnością, ale także kiedy i dlaczego.