Śledzenie
| 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.
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.TraceAPI i otoczkitrace() {} - Ś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
PerfettoCaptureiPerfettoTraceRulemogą teraz przechwytywać logi czasu procesów i łączyć je w przypadku pakietu docelowego. (I9a00b, b/497959820)androidx.benchmarkma terazminSdkna 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(...)odwriteInstant(...). (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
BufferedSinkiProtoWriterw:TraceSink. (Ibd098) - Ułatwiają
Tracerodkrywanie 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.recordExceptionnaTracer.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. Gdyblock()zgłasza wyjątek wtrace/traceCoroutine, utwórz zdarzenieinstantdla wyjątku z metadanymi reprezentującymi odpowiednie elementy zrzutu stosu. (I682e5, b/501536851, b/437166283) - Dodaj przeciążenie
setCounter(...), które przyjmuje typLongw Javie. (Ic0469, b/356082604) - Śledzenie 2.0 używa teraz
Longw przypadku identyfikatorówThreadna danej platformie. (I67277)
Poprawki błędów
- Ulepsz dokumentację usługi
AttributeEntry.reset(). (I5d3a1, b/496079439)
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
TraceSinkzwracają terazTraceSink, a nieAbstractTraceSink. 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 tworzeniaTraceDriver, 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ń
AbstractTraceDrivernaprawdę abstrakcyjnym i przenieś implementacjęPerfettodo modułutracing-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.tracingdomyś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:NiN: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 APItokenForManualPropagation(), 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
Tracerjako 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
BlackHolewandroidx.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ę
MetadataHandleCloseablenaEventMetadataCloseable, aMetadataHandlenaEventMetadata. Dodaliśmy też opcjonalny argumentCoroutinePropagationTokendo funkcjiTracer.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
fillCountw arkuszuPooledTracePacketArrayjest teraz prawidłowo oznaczona jako zmienna. (I75d2c) - Oznacz gościa
MetadataEntryjako@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) jakoDelicateTracingApi. (Iaac6d) - Ustaw
ProcessTrack.id,ThreadTrack.id,ThreadTrack.name,CounterTrack.nameiCounterTrack.parentjako publiczne. (I81210) - Zmieniliśmy nazwę interfejsu API
SliceTrack.traceFlow()natraceCoroutine(). (I79ad0) - Dodano możliwość dodawania informacji kontekstowych do wycinków za pomocą adnotacji debugowania w śladzie Perfetto. (Ic2b56)
- Umożliwia utworzenie instancji
WireTraceSinkzFile/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.Tracena język Kotlin i przeniesiono cały kod z modułutracing-ktxdo modułutracing. - 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-ktxdotracing. (Iba550) - Przekonwertowano klasę
androidx.tracing.Tracena 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()itraceAsync()z odroczonym obliczaniem ciągów znaków i plików cookie. Teraz prawidłowo pomija teżTrace.end, jeśliTrace.beginzgł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-alpha02podczas uaktualniania do wersjiandroidx.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()itraceAsync()z odroczonym obliczaniem ciągów tekstowych i plików cookie. Teraz prawidłowo pomija teżTrace.end, jeśliTrace.beginzgł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
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/CriticalNativedo 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.Tracenaandroidx.tracing.perfetto.PerfettoSdkTrace(I44af8) - Zmieniono nazwy stałych „exit code” na „result code” w protokole, aby zachować spójność (Id1d1e).
- Zmieniono nazwę
EnableTracingResponsenaResponse. (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
enableTracingColdStartdoenableTracingImmediate(I54126) - Usunięto argument
killProcesswenableTracingColdStart(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.requiredVersionna 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-perfettoto 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-binaryto zestaw zależności binarnych wymaganych w przypadku androidx.tracing:tracing-perfetto.androidx.tracing:tracing-perfetto-commonto 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.