Śledzenie

  
Zapisuj zdarzenia śledzenia systemu w buforze śledzenia systemu.
Najnowsza aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja beta Wersja alfa
12 października 2026 r. 2.0.4 - - -

Prześlij opinię

Twoja opinia pomoże nam ulepszyć Jetpacka. Daj nam znać, jeśli znajdziesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki. Przed utworzeniem nowego problemu zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego zgłoszenia

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

Śledzenie

Wersja 2.0

Wersja 2.0.4

12 października 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.4 Wersja 2.0.4 zawiera te zatwierdzenia.

Poprawki błędów
  • Usunęliśmy problem z sytuacją wyścigu podczas opróżniania pakietów śledzenia. (aosp/4344047)

Wersja 2.0.3

23 września 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.3 Wersja 2.0.3 zawiera te zatwierdzenia.

Wersja 2.0.2

9 września 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.2 Wersja 2.0.2 zawiera te zatwierdzenia.

Wersja 2.0.1

26 sierpnia 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.1 Wersja 2.0.1 zawiera te zmiany.

Wersja 2.0.0

12 sierpnia 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0 Wersja 2.0.0 zawiera te zmiany.

Najważniejsze funkcje wersji 2.0.0:

Nowy interfejs API w procesie umożliwia:

  • rejestrowanie treści śladu w procesie, w terenie;
  • Przepływy Perfetto (strzałki od jednego wycinka do drugiego)
  • Adnotacje Perfetto (metadane wycinka klucz/wartość)
  • traceCoroutine() {} – interfejs Coroutine Tracing API, który śledzi przełączanie wątków.
  • Category filtering
  • Znacznie mniejszy narzut niż w przypadku dotychczasowego interfejsu android.os.Trace API i otoczki trace() {}
  • Śledzenie KMP – można używać w bibliotekach bez zależności od Androida i w projektach JVM hosta.
  • Po fakcie scalanie z nagrywaniem śledzenia systemu (domyślnie zaimplementowane w AndroidX Benchmark 1.5)

Pamiętaj, że nowe interfejsy API śledzenia zapisują dane w buforze kontrolowanym przez proces, który nie jest jeszcze rejestrowany przez śledzenie systemu Studio. Ten problem zostanie rozwiązany w profilerach Studio w jednej z kolejnych wersji.

Istniejące interfejsy API android.os.Trace / trace() {} nie zostały wycofane. Te interfejsy API są nadal zalecane w przypadku zdarzeń o niskiej częstotliwości, które powinny być zawsze rejestrowane w buforze śledzenia systemu, zwłaszcza w bibliotekach.

Wersja 2.0.0-rc01

29 lipca 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-rc01 Wersja 2.0.0-rc01 zawiera te zatwierdzenia.

Wersja 2.0.0-beta01

15 lipca 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-beta01 Wersja 2.0.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • PerfettoCapture i PerfettoTraceRule mogą teraz przechwytywać logi czasu procesów i łączyć je w przypadku pakietu docelowego. (I9a00b, b/497959820)
  • androidx.benchmark ma teraz minSdk na poziomie 24. (Ic2a85)

Poprawki błędów

  • Wersja śledzenia 2.0-beta01. (I1b162)
  • Podczas generowania informacji o ścieżce używaj identyfikatorów wątków powiązanych z platformą. (I6ba64)

Wersja 2.0.0-alpha09

23 czerwca 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-alpha09 Wersja 2.0.0-alpha09 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Niewielka zmiana interfejsu API w Tracer, aby odróżnić instant(...) od writeInstant(...). (I0935a)
  • Dodaj obsługę tokenów propagacji w zdarzeniach natychmiastowych. (I99f81)
  • Zezwalaj na pełne korzystanie z przepływów Perfetto w eksperymentalnym interfejsie API do ręcznego przekazywania kontekstu. (I20cb6)
  • Odrocz tworzenie BufferedSink i ProtoWriter w: TraceSink. (Ibd098)
  • Ułatwiają Tracer odkrywanie i podłączanie bibliotek Java i Androida. (I99111)
  • Ułatwienie deweloperom bibliotek odkrywania instancji TraceDriver, której można używać do śledzenia w procesie. (Ia503e)

Wersja 2.0.0-alpha08

19 maja 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-alpha08 Wersja 2.0.0-alpha08 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodanie możliwości wykrywania i zastępowania instancji TraceDriver, które mają być używane w całym procesie. (I3f715)
  • Zmień nazwę Tracer.recordException na Tracer.recordExceptionAndThrow. (I4411f, b/503092450)

Wersja 2.0.0-alpha07

6 maja 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-alpha07 Wersja 2.0.0-alpha07 zawiera te zmiany.

Zmiany w interfejsie API

  • Dodaj interfejs API, aby uzyskać moduł śledzenia, którego można używać, gdy śledzenie jest wyłączone. (I84c98)
  • Ujednolicenie cyklu życia śledzenia z śledzeniem systemowym. (Ib391b)
  • Interfejsy API liczników są teraz całkowicie bezpłatne. (I5e73a)

Poprawki błędów

  • Naprawiliśmy regułę zachowywania pakietu Perfetto SDK (tracing-perfetto), która zapewnia, że można go włączyć. (I1d227)
  • Dodaliśmy możliwość śledzenia zdarzeń flush(). (I38014, b/495852704)

Wersja 2.0.0-alpha06

22 kwietnia 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-alpha06 Wersja 2.0.0-alpha06 zawiera te zmiany.

Zmiany w interfejsie API

  • Zdejmij ograniczenia z zasobu File.createPerfettoFile(), aby inni mogli bezpiecznie tworzyć ujścia. Gdy block() zgłasza wyjątek w trace / traceCoroutine, utwórz zdarzenie instant dla wyjątku z metadanymi reprezentującymi odpowiednie elementy zrzutu stosu. (I682e5, b/501536851, b/437166283)
  • Dodaj przeciążenie setCounter(...), które przyjmuje typ Long w Javie. (Ic0469, b/356082604)
  • Śledzenie 2.0 używa teraz Long w przypadku identyfikatorów Thread na danej platformie. (I67277)

Poprawki błędów

Wersja 2.0.0-alpha05

8 kwietnia 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-alpha05 Wersja 2.0.0-alpha05 zawiera te commity.

Zmiany w interfejsie API

  • Funkcje fabryczne TraceSink zwracają teraz TraceSink, a nie AbstractTraceSink. Pliki mają teraz unikalny sufiks. Upewniamy się, że możemy niepodzielnie utworzyć nowy plik, który będzie używany do przechowywania pakietów śledzenia. (I4c4aa, b/496298726)
  • Uprość i przyspiesz propagowanie kontekstu korutyny. (Ia62db)
  • Wprowadź opcjonalny parametr attributes() podczas tworzenia TraceDriver, który umożliwia dodawanie metadanych dotyczących logu czasu oczekiwania. (Ia147e)

Poprawki błędów

  • Wątki procesów i ścieżki liczników są teraz zsynchronizowane. Rozwiązuje to wyjątki w formie: java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null
  • Unikaj generowania zdarzeń ujścia, gdy śledzenie jest wyłączone.

Wersja 2.0.0-alpha04

25 marca 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-alpha04 Wersja 2.0.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Uczyń AbstractTraceDriver naprawdę abstrakcyjnym i przenieś implementację Perfetto do modułu tracing-wire. (Ie2f59)
  • Nadaj implementacjom podstawowym bardziej opisowe nazwy, aby uniknąć użycia niewłaściwej. Deweloperzy, którzy wcześniej rozszerzali klasę androidx.tracing.Trace{Sink|Driver}, będą teraz musieli przejść na klasę AbstractTrace{Sink|Driver}. (I9b46d)

Wersja 2.0.0-alpha03

11 marca 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-alpha03 Wersja 2.0.0-alpha03 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaliśmy eksperymentalną implementację InMemoryRingBufferTraceSink, która umożliwia ustawienie ograniczenia pojemności i zapobiega zapisywaniu na dysku, chyba że zostanie to wyraźnie zażądane. (I1dc44, b/484409653, I65a37, b/484409653)
  • Naprawiono sytuację wyścigu podczas emitowania zdarzeń śledzenia na potrzeby zawieszania i wznawiania współprogramów. (Ie145e)

Poprawki błędów

  • androidx.tracing domyślnie nie próbuje już rysować połączeń między korutynami nadrzędnymi i podrzędnymi w śladach. Było to mylące, ponieważ podstawowy format śladu nie obsługuje połączeń 1:N i N:1, co powodowało powstawanie gąszczu strzałek z powodu niejednoznaczności dotyczącej tego, który wycinek współprogramu łączy się z którym. Nadal możesz ręcznie włączyć propagację za pomocą interfejsu API tokenForManualPropagation(), jeśli jest to ważne w Twoim przypadku użycia. (Ib2cf9)

Wersja 2.0.0-alpha02

25 lutego 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-alpha02 Wersja 2.0.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • Zwiększyliśmy wydajność implementacji Perfetto Trace Sink dzięki użyciu funkcji wewnętrznej suspendCoroutineUninterceptedOrReturn (2ea97b).

Wersja 2.0.0-alpha01

28 stycznia 2026 r.

Publikacja androidx.tracing:tracing-*:2.0.0-alpha01 Wersja 2.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

AndroidX Tracing 2.0 wprowadza nowy, znaczący interfejs API do śledzenia w procesie z niskim narzutem, który uzupełnia istniejące interfejsy API oparte na android.os.Tracing w Tracing 1.0. Nowe interfejsy API są dostępne zarówno w Androidzie, jak i w środowisku JVM hosta, co umożliwia narzędziom hosta emitowanie śladów o niskim obciążeniu na potrzeby analizy wydajności przy użyciu tego samego standardowego formatu śladu Perfetto.

Ślady są obsługiwane zarówno przez Android Studio, jak i Perfetto. Można je rejestrować z rozszerzonym zestawem funkcji, w tym z tagowaniem fragmentów metadanymi (np. argumentami funkcji) i propagacją śladów kontekstu współprogramu.

Ta początkowa wersja alfa jest przeznaczona tylko do przepływów pracy związanych ze śledzeniem w procesie i nie jest jeszcze zintegrowana ze śledzeniem systemu operacyjnego Android ani ze śledzeniem systemu w profilerze Studio – te funkcje zostaną udostępnione w przyszłej wersji alfa.

  /**
  * A [TraceSink] defines how traces are serialized.
  *
  * [androidx.tracing.wire.TraceSink] uses the `Perfetto` trace packet format.
  */
  fun createSink(): TraceSink {
      val outputDirectory = File(/* pathname = */ "/tmp/perfetto")
      // We are using the factory function defined in androidx.tracing.wire
      return TraceSink(
          sequenceId = 1,
          directory = outputDirectory
      )
  }

  /**
  * Creates a new instance of [androidx.tracing.TraceDriver].
  */
  fun createTraceDriver(): TraceDriver {
      // We are using a factory function from androidx.tracing.wire here.
      // `isEnabled` controls whether tracing is enabled for the application.
      val driver = TraceDriver(sink = createSink(), isEnabled = true)
      return driver
  }

  fun main() {
      val driver = createTraceDriver()
      driver.use {
          driver.tracer.trace(category = CATEGORY_MAIN, name = "basic") {
              Thread.sleep(100L)
          }
      }
  }

Zmiany w interfejsie API

  • Ustaw Tracer jako właściwość TraceDriver. (Iabd9b)
  • Dodaj obsługę ręcznego przekazywania kontekstu. (I899ff)
  • Dodaj możliwość dodawania informacji o stosie wywołań w sekcji śledzenia. (If6a1b)
  • Przedstaw nowe interfejsy API androidx.tracing. (I5102b)
  • Zezwalaj na to, aby zdarzenia natychmiastowe zawierały metadane, i dodawaj liczniki do zdarzeń natychmiastowych i liczników. (Ia2ed3)
  • Zmniejsz obszar interfejsu API z adnotacjami @DelicateTracingApi. Żaden element interfejsu API najwyższego poziomu nie powinien wymagać użycia @DelicateTracingApi. (I565e0)
  • Uprość propagację kontekstu przez ujednolicenie PropagationToken. (Iab839)
  • Stabilizacja interfejsów API BlackHole w androidx.benchmark. (I2b67e, b/451749438)
  • Dodaj możliwość dodawania adnotacji do sekcji logu czasu trwania jako rozpiętości głównej. (Ic8365)
  • Umożliwia deweloperowi wyraźne określenie tokenów propagacji. (I06bb1)
  • Zmieniono nazwę MetadataHandleCloseable na EventMetadataCloseable, a MetadataHandle na EventMetadata. Dodaliśmy też opcjonalny argument CoroutinePropagationToken do funkcji Tracer.traceCoroutine, aby umożliwić deweloperowi wyraźne określenie tokena propagacji, który ma być używany. (I219f7, b/454147392)
  • Wprowadziliśmy nowy punkt wejścia Tracer, który daje deweloperom znacznie większą kontrolę nad śledzeniem. (I24a7b)
  • Dodaj możliwość kontrolowania sposobu propagowania kontekstu w SliceTrack. (Ieb8fc)
  • Funkcja fillCount w arkuszu PooledTracePacketArray jest teraz prawidłowo oznaczona jako zmienna. (I75d2c)
  • Oznacz gościa MetadataEntry jako @DelicateTracingApi. (I8c723)
  • Dodaj możliwość obsługi utraconych zdarzeń śledzenia przez TraceSink (gdy pula jest wyczerpana). (I3b374)
  • Dodaj możliwość warunkowego emitowania zdarzeń śledzenia na podstawie predykatu. (I621b4)
  • Dodaj możliwość dodawania kategorii do zdarzenia logu czasu. (I449c2)
  • Oznacz gościa TraceEvent (PooledTracePacketArray) jako DelicateTracingApi. (Iaac6d)
  • Ustaw ProcessTrack.id, ThreadTrack.id, ThreadTrack.name, CounterTrack.name i CounterTrack.parent jako publiczne. (I81210)
  • Zmieniliśmy nazwę interfejsu API SliceTrack.traceFlow() na traceCoroutine(). (I79ad0)
  • Dodano możliwość dodawania informacji kontekstowych do wycinków za pomocą adnotacji debugowania w śladzie Perfetto. (Ic2b56)
  • Umożliwia utworzenie instancji WireTraceSink z File / OutputStream. (Iecea0)
  • Usuwanie nieaktualnych adnotacji @RequiresApi(21) (Ic4792)

Wersja 1.3

Wersja 1.3.0

23 kwietnia 2025 r.

androidx.tracing:tracing:1.3.0, androidx.tracing:tracing-android:1.3.0 i androidx.tracing:tracing-ktx:1.3.0 są udostępnione. Wersja 1.3.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.2.0

  • Przekonwertowano klasę androidx.tracing.Trace na język Kotlin i przeniesiono cały kod z modułu tracing-ktx do modułu tracing.
  • Usuń crossinline z trace, aby umożliwić używanie w @Composable. (I53882, b/248344805)

Wersja 1.3.0-rc01

9 kwietnia 2025 r.

Wersje androidx.tracing:tracing:1.3.0-rc01, androidx.tracing:tracing-android:1.3.0-rc01 i androidx.tracing:tracing-ktx:1.3.0-rc01 zostały wydane bez zmian w porównaniu z ostatnią wersją beta. Wersja 1.3.0-rc01 zawiera te zmiany.

Wersja 1.3.0-beta01

12 lutego 2025 r.

Wersje androidx.tracing:tracing:1.3.0-beta01, androidx.tracing:tracing-android:1.3.0-beta01 i androidx.tracing:tracing-ktx:1.3.0-beta01 zostały opublikowane. Wersja 1.3.0-beta01 zawiera te zmiany.

Zmiany w interfejsie API

  • Przeniesiono cały kod z modułu tracing-ktx do tracing. (Iba550)
  • Przekonwertowano klasę androidx.tracing.Trace na język Kotlin. (Ie4e5d)

Poprawki błędów

  • Usunęliśmy ręczne opisywanie dostępu do nowych interfejsów API platformy, ponieważ dzieje się to automatycznie za pomocą modelowania interfejsu API, gdy używasz R8 z AGP 7.3 lub nowszą wersją (np. R8 w wersji 3.3) oraz w przypadku wszystkich kompilacji, gdy używasz AGP 8.1 lub nowszej wersji (np. D8 w wersji 8.1). Klientom, którzy nie używają AGP, zalecamy przejście na D8 w wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (Ia60e0, b/345472586)

Wersja 1.3.0-alpha02

21 czerwca 2023 r.

Wersje androidx.tracing:tracing:1.3.0-alpha02 i androidx.tracing:tracing-ktx:1.3.0-alpha02 zostały opublikowane bez zmian w stosunku do poprzedniej wersji alfa. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.

Wersja 1.3.0-alpha01

7 czerwca 2023 r.

Publikacja androidx.tracing:tracing:1.3.0-alpha01 i androidx.tracing:tracing-ktx:1.3.0-alpha01 Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Usuń crossinline ze śladu, aby umożliwić użycie w @Composable. (I53882, b/248344805)

Wersja 1.2

Wersja 1.2.0

29 listopada 2023 r.

androidx.tracing:tracing:1.2.0 i androidx.tracing:tracing-ktx:1.2.0 zostały opublikowane. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

  • Dodaj warianty trace() i traceAsync() z odroczonym obliczaniem ciągów znaków i plików cookie. Teraz prawidłowo pomija też Trace.end, jeśli Trace.begin zgłasza błąd.

Wersja 1.2.0-rc01

24 maja 2023 r.

Publikacja androidx.tracing:tracing:1.2.0-rc01 i androidx.tracing:tracing-ktx:1.2.0-rc01 Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Zapobieganie awariom, gdy przekazywane są długie nazwy sekcji śledzenia, przez automatyczne obcinanie (Iaf6e2)

Wersja 1.2.0-beta04

3 maja 2023 r.

Wersje androidx.tracing:tracing:1.2.0-beta04 i androidx.tracing:tracing-ktx:1.2.0-beta04 zostały opublikowane bez zmian. Wersja 1.2.0-beta04 zawiera te zatwierdzenia.

Wersja 1.2.0-beta03

5 kwietnia 2023 r.

Wersje androidx.tracing:tracing:1.2.0-beta03 i androidx.tracing:tracing-ktx:1.2.0-beta03 zostały opublikowane bez nowych zmian. Wersja 1.2.0-beta03 zawiera te zatwierdzenia.

Wersja 1.2.0-beta02

22 marca 2023 r.

Wersje androidx.tracing:tracing:1.2.0-beta02 i androidx.tracing:tracing-ktx:1.2.0-beta02 zostały opublikowane bez zmian w stosunku do poprzedniej wersji beta. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.

Wersja 1.2.0-beta01

8 marca 2023 r.

Wersje androidx.tracing:tracing:1.2.0-beta01 i androidx.tracing:tracing-ktx:1.2.0-beta01 zostały opublikowane bez zmian od ostatniej wersji alfa. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha02

23 lutego 2023 roku

Wersje androidx.tracing:tracing:1.2.0-alpha02 i androidx.tracing:tracing-ktx:1.2.0-alpha02 są udostępniane bez zmian w porównaniu z poprzednią wersją alfa. Wersja 1.2.0-alpha02 zawiera te zmiany.

Poprawki błędów

  • Ta wersja naprawia błąd Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02 podczas uaktualniania do wersji androidx.tracing: tracing-perfetto-common:1.0.0-alpha11.

Wersja 1.2.0-alpha01

5 października 2022 r.

Publikacja androidx.tracing:tracing:1.2.0-alpha01 i androidx.tracing:tracing-ktx:1.2.0-alpha01 Wersja 1.2.0-alpha01 zawiera te zmiany.

Nowe funkcje

  • Dodaj warianty trace() i traceAsync() z odroczonym obliczaniem ciągów tekstowych i plików cookie. Teraz prawidłowo pomija też Trace.end, jeśli Trace.begin zgłasza błąd. (I31421, b/175233952, b/247066503)

Wersja 1.1

Wersja 1.1.0

11 maja 2022 roku

Publikacja androidx.tracing:tracing:1.1.0 i androidx.tracing:tracing-ktx:1.1.0 Wersja 1.1.0 zawiera te zmiany.

Ważne zmiany od wersji 1.0.0

  • Dodano Trace.forceEnableAppTracing() interfejs API umożliwiający wymuszenie włączenia przechwytywania sekcji śledzenia aplikacji (czyli interfejsów API android.os.Trace / androidx.tracing) w kompilacjach bez możliwości debugowania. Wywołaj tę funkcję na początku uruchamiania, aby włączyć dokładne śledzenie systemu bez możliwości debugowania przed wprowadzeniem tagu manifestu profilowalnego w interfejsie API 29. (I3a309)
  • Unikanie błędów weryfikacji klasy podczas pierwszego wczytywania pliku Trace.java (05f6b4 i cb101f)

Wersja 1.1.0-rc01

20 kwietnia 2022 r.

Wersje androidx.tracing:tracing:1.1.0-rc01 i androidx.tracing:tracing-ktx:1.1.0-rc01 zostały opublikowane bez zmian od beta01. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Wersja 1.1.0-beta01

1 grudnia 2021 r.

androidx.tracing:tracing:1.1.0-beta01 i androidx.tracing:tracing-ktx:1.1.0-beta01 zostały opublikowane. Wersja 1.1.0-beta01 zawiera te zmiany.

Brak zmian od 1.1.0-alpha02.

Wersja 1.1.0-alpha02

17 listopada 2021 r.

androidx.tracing:tracing:1.1.0-alpha02 i androidx.tracing:tracing-ktx:1.1.0-alpha02 zostały opublikowane. Wersja 1.1.0-alpha02 zawiera te zmiany.

Nowe funkcje

  • Dodano interfejs API Trace.forceEnableAppTracing() do wymuszania włączania przechwytywania sekcji śledzenia aplikacji (czyli interfejsów API android.os.Trace / andoridx.tracing) w kompilacjach bez możliwości debugowania. Wywołaj tę funkcję na początku uruchamiania, aby włączyć dokładne śledzenie systemu bez możliwości debugowania przed wprowadzeniem tagu manifestu z możliwością profilowania w interfejsie API 29. (I3a309)

Wersja 1.1.0-alpha01

3 listopada 2021 r.

Publikacja androidx.tracing:tracing:1.1.0-alpha01 i androidx.tracing:tracing-ktx:1.1.0-alpha01 Wersja 1.1.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • Unikanie błędów weryfikacji klasy podczas pierwszego wczytywania pliku Trace.java (05f6b4 i cb101f)

Wersja 1.0

Wersja 1.0.0

28 października 2020 r.

Publikacja androidx.tracing:tracing:1.0.0 i androidx.tracing:tracing-ktx:1.0.0 Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje wersji 1.0.0

Pomaga zapisywać zdarzenia śledzenia w buforze śledzenia systemu. Możesz to wizualizować za pomocą narzędzi takich jak Systrace i Perfetto. Ta biblioteka zastępuje wycofaną klasę androidx.core.os.TraceCompat.

Wersja 1.0.0-rc01

14 października 2020 r.

androidx.tracing:tracing:1.0.0-rc01 i androidx.tracing:tracing-ktx:1.0.0-rc01 zostały opublikowane. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Ta wersja jest identyczna z wersją 1.0.0-beta01.

Wersja 1.0.0-beta01

24 czerwca 2020 r.

Wersje androidx.tracing:tracing:1.0.0-beta01 i androidx.tracing:tracing-ktx:1.0.0-beta01 zostały opublikowane bez zmian od 1.0.0-alpha01. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha01

10 czerwca 2020 r.

androidx.tracing:tracing:1.0.0-alpha01 i androidx.tracing:tracing-ktx:1.0.0-alpha01 zostały opublikowane. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

androidx.tracing to biblioteka, która pomaga zapisywać zdarzenia śledzenia w buforze śledzenia systemu. Możesz to wizualizować za pomocą narzędzi takich jak Systrace i Perfetto. Ta biblioteka zastępuje wycofaną klasę androidx.core.os.TraceCompat. Ta pierwsza wersja to 1.0.0-alpha01.

Śledzenie Perfetto

Wersja 1.0

Wersja 1.0.1

19 listopada 2025 r.

Wersje androidx.tracing:tracing-perfetto:1.0.1, androidx.tracing:tracing-perfetto-binary:1.0.1 i androidx.tracing:tracing-perfetto-handshake:1.0.1 zostały opublikowane. Wersja 1.0.1 zawiera te zmiany.

Poprawki błędów

  • Obsługa stron o rozmiarze 16 KB (b7a7dd)
  • Usunęliśmy ręczne określanie dostępu do nowych interfejsów API platformy, ponieważ odbywa się to automatycznie za pomocą modelowania interfejsu API podczas korzystania z R8 z AGP 7.3 lub nowszą (np. R8 w wersji 3.3) oraz w przypadku wszystkich kompilacji podczas korzystania z AGP 8.1 lub nowszej (np. D8 w wersji 8.1). Klientom, którzy nie korzystają z AGP, zalecamy przejście na D8 w wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (Ia60e0, b/345472586)
  • Unikaj dołączania kopii FastNative/CriticalNative do biblioteki i używaj stabilnych kopii platformy. (I8238a, b/35664282, b/280878596)

Wersja 1.0.0

4 października 2023 roku

Wersje androidx.tracing:tracing-perfetto:1.0.0, androidx.tracing:tracing-perfetto-binary:1.0.0 i androidx.tracing:tracing-perfetto-handshake:1.0.0 zostały opublikowane. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje wersji 1.0.0

  • To pierwsza stabilna wersja bibliotek Tracing-perfetto.

Wersja 1.0.0-rc01

20 września 2023 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-rc01, androidx.tracing:tracing-perfetto-binary:1.0.0-rc01 i androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 zostały opublikowane bez zmian w stosunku do ostatniej wersji beta. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Wersja 1.0.0-beta03

30 sierpnia 2023 r.

androidx.tracing:tracing-perfetto:1.0.0-beta03, androidx.tracing:tracing-perfetto-binary:1.0.0-beta03 i androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 są udostępnione. Wersja 1.0.0-beta03 zawiera te zatwierdzenia.

  • Zwiększenie wersji, aby była zgodna z wersją androidx.benchmark.

Wersja 1.0.0-beta02

23 sierpnia 2023 r.

androidx.tracing:tracing-perfetto:1.0.0-beta02, androidx.tracing:tracing-perfetto-binary:1.0.0-beta02 i androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 są udostępnione. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Nowe funkcje

  • Włączono obsługę śledzenia podczas uruchamiania aplikacji (uruchomienie „na zimno”).

Wersja 1.0.0-beta01

18 lipca 2023 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-beta01, androidx.tracing:tracing-perfetto-binary:1.0.0-beta01 i androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 zostały opublikowane. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Zmieniono nazwę androidx.tracing.perfetto.Trace na androidx.tracing.perfetto.PerfettoSdkTrace (I44af8)
  • Zmieniono nazwy stałych „exit code” na „result code” w protokole, aby zachować spójność (Id1d1e).
  • Zmieniono nazwę EnableTracingResponse na Response. (I56275)
  • Dodano opcję włączania śledzenia uruchomienia „na zimno” w trybie stałym. Dodano funkcję czyszczenia (trwałego lub nie) śledzenia uruchomienia „na zimno”. (Iaa09d)
  • Ujednolicono interfejsy API pakietu SDK Tracing Perfetto z interfejsami android.os.Trace. (I73ba0, b/282199917)
  • Przeniesiono do wzorca fabryki dla LibrarySource, co umożliwia łatwe dodawanie do interfejsu API przyszłych przypadków użycia (np. bezpośrednie wczytywanie pliku .so), jeśli będzie to konieczne. (I128df)
  • Dopasowywanie parametrów enableTracingColdStart do enableTracingImmediate (I54126)
  • Usunięto argument killProcess w enableTracingColdStart (I81c4d)

Wersja 1.0.0-alpha17

21 czerwca 2023 r.

androidx.tracing:tracing-perfetto:1.0.0-alpha17, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17 i androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 zostały opublikowane bez zmian w porównaniu z poprzednią wersją alfa. Wersja 1.0.0-alpha17 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha16

7 czerwca 2023 r.

androidx.tracing:tracing-perfetto:1.0.0-alpha16, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 zostały opublikowane bez zmian w porównaniu z poprzednią wersją alfa. Wersja 1.0.0-alpha16 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha15

3 maja 2023 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha15, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 zostały opublikowane bez zmian. Wersja 1.0.0-alpha15 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha14

5 kwietnia 2023 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha14, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 zostały udostępnione bez nowych zmian. Wersja 1.0.0-alpha14 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha13

22 marca 2023 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha13, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 zostały opublikowane bez zmian od ostatniej wersji. Wersja 1.0.0-alpha13 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha12

8 marca 2023 r.

androidx.tracing:tracing-perfetto:1.0.0-alpha12, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 zostały opublikowane bez zmian w porównaniu z poprzednią wersją alfa. Wersja 1.0.0-alpha12 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha11

22 lutego 2023 roku

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha11, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 zostały opublikowane bez zmian. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha10

8 lutego 2023 r.

androidx.tracing:tracing-perfetto:1.0.0-alpha10, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 są udostępniane bez zmian. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha09

10 lutego 2023 r.

Publikacja androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.

Nowe funkcje

  • Wersja umożliwiająca współpracę z innymi bibliotekami androidx.tracing:tracing-perfetto*: 1.0.0-alpha09.

11 stycznia 2023 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha09 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 zostały opublikowane bez zmian. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha08

7 grudnia 2022 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha08, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 zostały opublikowane. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.

Nowe funkcje

  • Zwiększona wydajność dzięki optymalizacji sposobu obsługi ciągów znaków.

Poprawki błędów

  • Dodano regułę ProGuard, która zapobiega usuwaniu metod klasy PerfettoNative, jeśli klasa jest używana (zapobiega to awarii w niszowym przypadku, gdy śledzenie jest inicjowane, ale w aplikacji nie ma wywołań śledzenia).

Wersja 1.0.0-alpha07

9 listopada 2022 r.

androidx.tracing:tracing-perfetto:1.0.0-alpha07, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 są udostępnione. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.

  • Zmniejszono narzut JNI interfejsów API androidx.tracing:tracing-perfetto.

Wersja 1.0.0-alpha06

24 października 2022 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha06, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 zostały opublikowane. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.

  • Ta aktualizacja nie zawiera żadnych zmian, tylko aktualizację numeru wersji w celu synchronizacji z androidx.benchmark.

Wersja 1.0.0-alpha05

5 października 2022 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha05, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 zostały opublikowane. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha04

21 września 2022 r.

androidx.tracing:tracing-perfetto:1.0.0-alpha04, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 są udostępnione. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.

Wersja 1.0.0-alpha03

7 września 2022 roku

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha03, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 zostały opublikowane.

Nowe funkcje

  • Brak nowych funkcji w porównaniu z wersją 1.0.0-alpha02.

Wersja 1.0.0-alpha02

24 sierpnia 2022 r.

Wersje androidx.tracing:tracing-perfetto:1.0.0-alpha02, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 zostały opublikowane. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.

Poprawki błędów

  • Kilka ulepszeń dotyczących inicjowania usługi Perfetto
  • Ulepszyliśmy obsługę sytuacji, w której nie ma odpowiedzi, wprowadzając specjalny kod wyjścia: RESULT_CODE_CANCELLED.
  • Poprawiliśmy obsługę błędów analizy.
  • Zmieniono EnableTracingResponse.requiredVersion na wartość nullable, ponieważ nie możemy poznać wersji, jeśli nie możemy skomunikować się z pakietem. (I5ba20)

Wersja 1.0.0-alpha01

27 lipca 2022 roku

androidx.tracing:tracing-perfetto:1.0.0-alpha01, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01 i androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 są udostępnione. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.

  • Uwaga: wszystkie biblioteki androidx.tracing:tracing-perfetto* są początkowo przeznaczone tylko do użytku wewnętrznego w bibliotekach AndroidX. Nie musisz bezpośrednio z nich korzystać.

Nowe funkcje

  • Wszystkie biblioteki androidx.tracing:tracing-perfetto* są początkowo przeznaczone wyłącznie do użytku wewnętrznego w bibliotekach AndroidX i nie powinny być potrzebne bezpośrednio. Dokumentujemy te szczegóły wdrożenia, aby zapewnić przejrzystość.

  • androidx.tracing:tracing-perfetto to biblioteka, która pomaga zapisywać zdarzenia śledzenia za pomocą pakietu Perfetto SDK o niskim narzucie. Można go używać w Benchmarku, Androidzie Studio lub interfejsie Perfetto.

  • androidx.tracing:tracing-perfetto-binary to zestaw zależności binarnych wymaganych w przypadku androidx.tracing:tracing-perfetto.

  • androidx.tracing:tracing-perfetto-common to wewnętrzna zależność androidx.tracing:tracing-perfetto, która może być używana przez narzędzia do integracji z androidx.tracing:tracing-perfetto.