מבצע מעקב
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 12 באוקטובר 2026 | 2.0.4 | - | - | - |
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
מבצע מעקב
גרסה 2.0
גרסה 2.0.4
12 באוקטובר 2026
androidx.tracing:tracing-*:2.0.4 מופץ. גרסה 2.0.4 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיית מרוץ תהליכים (race condition) כשמרוקנים מנתוני המעקב את המנות. (aosp/4344047)
גרסה 2.0.3
23 בספטמבר 2026
androidx.tracing:tracing-*:2.0.3 מופץ. גרסה 2.0.3 מכילה את השמירות האלה.
גרסה 2.0.2
9 בספטמבר 2026
androidx.tracing:tracing-*:2.0.2 מופץ. גרסה 2.0.2 מכילה את ה-commits האלה.
גרסה 2.0.1
26 באוגוסט 2026
androidx.tracing:tracing-*:2.0.1 מופץ. גרסה 2.0.1 מכילה את השמירות האלה.
גרסה 2.0.0
12 באוגוסט 2026
androidx.tracing:tracing-*:2.0.0 מופץ. גרסה 2.0.0 מכילה את ה-commits האלה.
התכונות העיקריות בגרסה 2.0.0:
ה-API החדש בתהליך מאפשר:
- תיעוד תוכן של מעקב בתהליך, בשטח
- תהליכים ב-Perfetto (חצים מפרוסה אחת לאחרת)
- הערות Perfetto (מטא-נתונים של פרוסות מפתח/ערך)
-
traceCoroutine() {}– Coroutine Tracing API שעוקב אחרי החלפות של שרשורים - Category filtering
- תקורה נמוכה משמעותית בהשוואה ל-API הקיים של
android.os.Traceולמעטפת שלtrace() {} - מעקב KMP – אפשר להשתמש בו בספריות ללא תלות ב-Android, ובפרויקטים של JVM מארח
- מיזוג עם הקלטת מעקב המערכת לאחר מעשה (מוטמע כברירת מחדל ב-AndroidX Benchmark 1.5)
שימו לב: ממשקי ה-API החדשים למעקב מתעדים נתונים במאגר שנשלט על ידי תהליך, ועדיין לא מתועדים על ידי הקלטת מעקב המערכת של Studio. הבעיה הזו תטופל באחת מהגרסאות הבאות של Studio Profilers.
ממשקי ה-API הקיימים של android.os.Trace / trace() {} לא הוצאו משימוש. עדיין מומלץ להשתמש בממשקי ה-API האלה לאירועים בתדירות נמוכה שתמיד צריכים להיות מתועדים במאגר הזמני של מעקב המערכת, במיוחד בספריות.
גרסה 2.0.0-rc01
29 ביולי 2026
androidx.tracing:tracing-*:2.0.0-rc01 מופץ. גרסה 2.0.0-rc01 מכילה את השמירות האלה.
גרסה 2.0.0-beta01
15 ביולי 2026
androidx.tracing:tracing-*:2.0.0-beta01 מופץ. גרסה 2.0.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
PerfettoCapturePerfettoTraceRuleעכשיו אפשר ללכוד את העקבות של תהליכים שמתבצעים ולמזג אותם לחבילת יעד. (I9a00b, b/497959820)- עכשיו ל
androidx.benchmarkישminSdkשל 24. (Ic2a85)
תיקוני באגים
- גרסת Tracing 2.0-beta01. (I1b162)
- כשיוצרים פרטי טראק, צריך להשתמש במזהי שרשורים ספציפיים לפלטפורמה. (I6ba64)
גרסה 2.0.0-alpha09
23 ביוני 2026
androidx.tracing:tracing-*:2.0.0-alpha09 מופץ. גרסה 2.0.0-alpha09 מכילה את השמירות האלה.
שינויים ב-API
- שינוי קל ב-API של
Tracerכדי להבחין ביןinstant(...)ל-writeInstant(...). (I0935a) - הוספת תמיכה בטוקנים של הפצה באירועים מיידיים. (I99f81)
- יש הרשאה לשימוש מלא בזרימות של Perfetto ב-API הניסיוני להפצת הקשר ידנית. (I20cb6)
- דחיית היצירה של
BufferedSinkו-ProtoWriterב-TraceSink. (Ibd098) - הפיכת הגילוי של
Tracerלפשוט וניתן לחיבור גם לספריות Java וגם לספריות Android. (I99111) - כדי שמפתחי ספריות יוכלו למצוא בקלות מופע של
TraceDriverשאפשר להשתמש בו למעקב בתוך התהליך. (Ia503e)
גרסה 2.0.0-alpha08
19 במאי 2026
androidx.tracing:tracing-*:2.0.0-alpha08 מופץ. גרסה 2.0.0-alpha08 מכילה את השמירות האלה.
שינויים ב-API
- הוספת האפשרות לגלות מקרים של
TraceDriverולבטל אותם כדי להשתמש בהם בכל התהליך. (I3f715) - שינוי השם של
Tracer.recordExceptionלTracer.recordExceptionAndThrow. (I4411f, b/503092450)
גרסה 2.0.0-alpha07
6 במאי 2026
androidx.tracing:tracing-*:2.0.0-alpha07 מופץ. גרסה 2.0.0-alpha07 מכילה את השמירות האלה.
שינויים ב-API
- הוספת API כדי לקבל כלי למעקב אחר קוד זמני שאפשר להשתמש בו כשהמעקב מושבת. (I84c98)
- התאמה של מחזור החיים של המעקב למעקב המערכת. (Ib391b)
- ממשקי ה-API של המונים לא דורשים יותר הקצאה. (I5e73a)
תיקוני באגים
- תוקן כלל שמירה של Perfetto SDK (
tracing-perfetto) כדי לוודא שאפשר להפעיל את Perfetto SDK. (I1d227) - הוספת היכולת לעקוב אחרי אירועי
flush(). (I38014, b/495852704)
גרסה 2.0.0-alpha06
22 באפריל 2026
androidx.tracing:tracing-*:2.0.0-alpha06 מופץ. גרסה 2.0.0-alpha06 מכילה את השמירות האלה.
שינויים ב-API
- מבטלים את ההגבלה על
File.createPerfettoFile()כדי שאחרים יוכלו ליצור כיורים בבטחה. כש-block()זורק חריגה ב-trace/traceCoroutine, צריך ליצור אירועinstantלחריגה עם המטא-נתונים שמייצגים את רכיבי דוח הקריסות התואמים. (I682e5, b/501536851, b/437166283) - מוסיפים עומס יתר של
setCounter(...)שמקבל סוגLongשל Java. (Ic0469, b/356082604) - ב-Tracing 2.0 נעשה עכשיו שימוש ב-
Longלמזהים ספציפיים לכל פלטפורמהThread. (I67277)
תיקוני באגים
- לשפר את המסמכים של
AttributeEntry.reset(). (I5d3a1, b/496079439)
גרסה 2.0.0-alpha05
8 באפריל 2026
androidx.tracing:tracing-*:2.0.0-alpha05 מופץ. גרסה 2.0.0-alpha05 מכילה את השמירות האלה.
שינויים ב-API
- הפונקציות
TraceSinkמחזירות עכשיוTraceSinkולאAbstractTraceSink. עכשיו לקבצים יש סיומת ייחודית. אנחנו מוודאים שאפשר ליצור באופן אטומי קובץ חדש שישמש לאחסון של מנות נתונים של מעקב. (I4c4aa, b/496298726) - הפשטה והאצה של הפצת ההקשר של פונקציות קורוטין. (Ia62db)
- אפשר להשתמש ב-
attributes()האופציונלי כשיוצריםTraceDriverשמאפשר להוסיף מטא-נתונים שקשורים למעקב. (Ia147e)
תיקוני באגים
- התהליכים של השרשורים והמעקב אחרי המונים מסונכרנים עכשיו. הפעולה הזו מתקנת חריגות מהסוג:
java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null - לא להפיק אירועי sink כשהמעקב מושבת.
גרסה 2.0.0-alpha04
25 במרץ 2026
androidx.tracing:tracing-*:2.0.0-alpha04 מופץ. גרסה 2.0.0-alpha04 מכילה את ה-commits האלה.
שינויים ב-API
- הופכים את
AbstractTraceDriverלממשק מופשט מאוד, ומעבירים את ההטמעה שלPerfettoלמודולtracing-wire. (Ie2f59) - כדי להימנע משימוש בהטמעה הבסיסית הלא נכונה, כדאי לתת להטמעות הבסיסיות שמות תיאוריים יותר. מפתחים שהשתמשו בעבר ב-
androidx.tracing.Trace{Sink|Driver}יצטרכו לעבור לשימוש ב-AbstractTrace{Sink|Driver}. (I9b46d)
גרסה 2.0.0-alpha03
11 במרץ 2026
androidx.tracing:tracing-*:2.0.0-alpha03 מופץ. גרסה 2.0.0-alpha03 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו הטמעה ניסיונית של
InMemoryRingBufferTraceSinkשמאפשרת להגדיר מגבלת קיבולת ולמנוע כתיבה לדיסק, אלא אם מבקשים זאת במפורש. (I1dc44, b/484409653, I65a37, b/484409653) - תיקון מרוץ תהליכים כשפולטים אירועי מעקב להשעיה ולחידוש של שגרת המשך (coroutine). (Ie145e)
תיקוני באגים
- כברירת מחדל,
androidx.tracingלא מנסה יותר ליצור קשרים בין פונקציות קורוטין הורה לצאצא במעקבים. זה היה מבלבל, כי פורמט המעקב הבסיסי לא תומך בחיבורים של1:Nו-N:1, וכתוצאה מכך נוצרת קבוצה של חצים בגלל חוסר בהירות לגבי החיבור של כל פרוסת שגרת המשך. עדיין אפשר להביע הסכמה באופן ידני להפצה באמצעות ה-API שלtokenForManualPropagation(), אם זה חשוב לתרחיש לדוגמה שלכם. (Ib2cf9)
גרסה 2.0.0-alpha02
25 בפברואר 2026
androidx.tracing:tracing-*:2.0.0-alpha02 מופץ. גרסה 2.0.0-alpha02 מכילה את השמירות האלה.
תכונות חדשות
- שיפור הביצועים של הטמעת Perfetto Trace Sink באמצעות
suspendCoroutineUninterceptedOrReturnפנימי (2ea97b).
גרסה 2.0.0-alpha01
28 בינואר 2026
androidx.tracing:tracing-*:2.0.0-alpha01 מופץ. גרסה 2.0.0-alpha01 מכילה את השמירות האלה.
תכונות חדשות
AndroidX Tracing 2.0 כולל ממשק API חדש ומשמעותי למעקב בתוך התהליך עם תקורה נמוכה, כתוספת לממשקי ה-API הקיימים שמבוססים על android.os.Tracing ב-Tracing 1.0. ממשקי ה-API החדשים זמינים גם ב-Android וגם ב-JVM של המארח, מה שמאפשר לכלי המארח להפיק עקבות עם תקורה נמוכה לניתוח ביצועים, באמצעות אותו פורמט סטנדרטי של עקבות Perfetto.
גם Android Studio וגם Perfetto תומכים בנתוני מעקב שנוצרו, ואפשר לתעד אותן באמצעות קבוצת תכונות מורחבת, כולל תיוג של תבניות של תוכן דינמי עם מטא-נתונים (כמו ארגומנטים של פונקציות!) והפצה של נתוני מעקב הקשר של שגרות המשך.
גרסת האלפא הראשונית הזו מיועדת רק לרצפי פעולות של מעקב בתוך התהליך, ועדיין לא משולבת עם מעקב במערכת ההפעלה Android או עם מעקב במערכת Studio Profiler – השילובים האלה יגיעו בגרסת אלפא עתידית.
/**
* 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)
}
}
}
שינויים ב-API
- הגדרת
Tracerכמאפיין שלTraceDriver. (Iabd9b) - הוספת תמיכה בהעברת הקשר באופן ידני. (I899ff)
- הוספת היכולת להוסיף מידע על סטאק הביצוע בקטע מעקב. (If6a1b)
- הצגת ממשקי ה-API החדשים של
androidx.tracing. (I5102b) - לאפשר לאירועים מיידיים להכיל מטא-נתונים, ולהוסיף מוני אירועים מיידיים ומונים. (Ia2ed3)
- מצמצמים את שטח הפנים של ה-API עם ההערה
@DelicateTracingApi. שום דבר ב-API ברמה העליונה לא צריך לדרוש שימוש ב-@DelicateTracingApi. (I565e0) - פישוט של הפצת ההקשר על ידי איחוד של
PropagationToken. (Iab839) -
BlackHoleממשקי API יציבים ב-androidx.benchmark. (I2b67e, b/451749438) - הוספת היכולת להוסיף הערות לקטע המעקב כ-root span. (Ic8365)
- המפתח יכול להגדיר במפורש אסימוני הפצה. (I06bb1)
- השם של
MetadataHandleCloseableשונה ל-EventMetadataCloseable, והשם שלMetadataHandleשונה ל-EventMetadata. נוסף גם ארגומנט אופציונליCoroutinePropagationTokenל-Tracer.traceCoroutineכדי לאפשר למפתח לציין במפורש את אסימון ההפצה שבו רוצים להשתמש. (I219f7, b/454147392) - הוספנו נקודת כניסה חדשה של
Tracerשנותנת למפתחים הרבה יותר שליטה על אופן המעקב. (I24a7b) - הוספת היכולת לשלוט באופן שבו מתבצעת הפצת ההקשר ב-
SliceTrack. (Ieb8fc) -
fillCountב-PooledTracePacketArrayמסומן עכשיו כמשתנה בצורה נכונה. (I75d2c) - סימון
MetadataEntry@DelicateTracingApi. (I8c723) - הוספת היכולת של
TraceSinkלטפל באירועי מעקב שאבדו (כשהמאגר מוצה). (I3b374) - הוספת היכולת להפיק אירועי מעקב באופן מותנה על סמך פרדיקט. (I621b4)
- הוספת האפשרות להוסיף קטגוריות לאירוע מעקב. (I449c2)
- סימון ההשתתפות של
TraceEvent(PooledTracePacketArray) כDelicateTracingApi. (Iaac6d) - הפיכת
ProcessTrack.id,ThreadTrack.id,ThreadTrack.name,CounterTrack.nameו-CounterTrack.parentלציבוריים. (I81210) - השם של
SliceTrack.traceFlow()API שונה ל-traceCoroutine(). (I79ad0) - הוספת היכולת להוסיף מידע לפי הקשר לפרוסות באמצעות הערות לניפוי באגים במעקב של Perfetto. (Ic2b56)
- מאפשרים ליצור מופע של
WireTraceSinkעםFileאוOutputStream. (Iecea0) - הסרת הערות
@RequiresApi(21)מיושנות (Ic4792)
גרסה 1.3
גרסה 1.3.0
23 באפריל 2025
androidx.tracing:tracing:1.3.0, androidx.tracing:tracing-android:1.3.0 ו-androidx.tracing:tracing-ktx:1.3.0 שוחררו. גרסה 1.3.0 מכילה את ה-commits האלה.
שינויים חשובים מאז גרסה 1.2.0
- המרת המחלקה
androidx.tracing.Traceל-Kotlin, והעברת כל הקוד מהמודולtracing-ktxאלtracing. - מסירים את crossinline מהפונקציה trace כדי לאפשר שימוש ב-
@Composable. (I53882, b/248344805)
גרסה 1.3.0-rc01
9 באפריל 2025
הגרסאות androidx.tracing:tracing:1.3.0-rc01, androidx.tracing:tracing-android:1.3.0-rc01 ו-androidx.tracing:tracing-ktx:1.3.0-rc01 הושקו ללא שינויים מאז גרסת הבטא האחרונה. גרסה 1.3.0-rc01 מכילה את השמירות האלה.
גרסה 1.3.0-beta01
12 בפברואר 2025
androidx.tracing:tracing:1.3.0-beta01, androidx.tracing:tracing-android:1.3.0-beta01 ו-androidx.tracing:tracing-ktx:1.3.0-beta01 שוחררו. גרסה 1.3.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
- העברנו את כל הקוד מהמודול
tracing-ktxאלtracing. (Iba550) - המרה של מחלקה אחת (
androidx.tracing.Trace) ל-Kotlin. (Ie4e5d)
תיקוני באגים
- הוסר המתווה הידני של הגישה לממשקי API חדשים של הפלטפורמה, כי זה קורה באופן אוטומטי באמצעות בניית מודלים של API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל, R8 בגרסה 3.3) ובכל ה-builds כשמשתמשים ב-AGP 8.1 ואילך (למשל, D8 בגרסה 8.1). לקוחות שלא משתמשים ב-AGP מומלץ לעדכן לגרסה 8.1 של D8 או לגרסה מאוחרת יותר. למידע נוסף, מומלץ לעיין במאמר הזה. (Ia60e0, b/345472586)
גרסה 1.3.0-alpha02
21 ביוני 2023
הגרסאות androidx.tracing:tracing:1.3.0-alpha02 ו-androidx.tracing:tracing-ktx:1.3.0-alpha02 הושקו ללא שינויים מגרסת האלפא הקודמת. גרסה 1.3.0-alpha02 מכילה את השמירות האלה.
גרסה 1.3.0-alpha01
7 ביוני 2023
androidx.tracing:tracing:1.3.0-alpha01 ו-androidx.tracing:tracing-ktx:1.3.0-alpha01 מופצים. גרסה 1.3.0-alpha01 מכילה את השינויים האלה.
שינויים ב-API
- צריך להסיר את crossinline מ-trace כדי לאפשר שימוש ב-
@Composable. (I53882, b/248344805)
גרסה 1.2
גרסה 1.2.0
29 בנובמבר 2023
androidx.tracing:tracing:1.2.0 וגם androidx.tracing:tracing-ktx:1.2.0 מופצים. גרסה 1.2.0 מכילה את השמירות האלה.
שינויים חשובים מאז גרסה 1.1.0
- הוספת וריאנטים של
trace()ו-traceAsync()עם חישוב מחרוזת וקובץ Cookie מסוג lazy. בנוסף, עכשיו המערכת מדלגת בצורה נכונה עלTrace.endאםTrace.beginזורק.
גרסה 1.2.0-rc01
24 במאי 2023
androidx.tracing:tracing:1.2.0-rc01 ו-androidx.tracing:tracing-ktx:1.2.0-rc01 מופצים. גרסה 1.2.0-rc01 מכילה את השמירות האלה.
תיקוני באגים
- מניעת קריסות כשמועברים שמות ארוכים של קטעי מעקב על ידי חיתוך אוטומטי (Iaf6e2)
גרסה 1.2.0-beta04
3 במאי 2023
הגרסאות androidx.tracing:tracing:1.2.0-beta04 ו-androidx.tracing:tracing-ktx:1.2.0-beta04 פורסמו ללא שינויים. גרסה 1.2.0-beta04 מכילה את השמירות האלה.
גרסה 1.2.0-beta03
5 באפריל 2023
הגרסאות androidx.tracing:tracing:1.2.0-beta03 ו-androidx.tracing:tracing-ktx:1.2.0-beta03 פורסמו בלי שינויים חדשים. גרסה 1.2.0-beta03 מכילה את השינויים האלה.
גרסה 1.2.0-beta02
22 במרץ 2023
הגרסאות androidx.tracing:tracing:1.2.0-beta02 ו-androidx.tracing:tracing-ktx:1.2.0-beta02 הושקו ללא שינויים מאז גרסת הבטא הקודמת. גרסה 1.2.0-beta02 מכילה את השמירות האלה.
גרסה 1.2.0-beta01
8 במרץ 2023
הגרסאות androidx.tracing:tracing:1.2.0-beta01 ו-androidx.tracing:tracing-ktx:1.2.0-beta01 הושקו ללא שינויים מאז גרסת האלפא האחרונה. גרסה 1.2.0-beta01 מכילה את השמירות האלה.
גרסה 1.2.0-alpha02
23 בפברואר 2023
הגרסאות androidx.tracing:tracing:1.2.0-alpha02 ו-androidx.tracing:tracing-ktx:1.2.0-alpha02 יוצאות ללא שינויים מהגרסה הקודמת של אלפא. גרסה 1.2.0-alpha02 מכילה את השמירות האלה.
תיקוני באגים
- הגרסה הזו תתקן שגיאה מסוג
Could not find androidx.tracing:tracing-ktx:1.2.0-alpha02שמתרחשת כשמשדרגים ל-androidx.tracing: tracing-perfetto-common:1.0.0-alpha11
גרסה 1.2.0-alpha01
5 באוקטובר 2022
androidx.tracing:tracing:1.2.0-alpha01 ו-androidx.tracing:tracing-ktx:1.2.0-alpha01 מופצים. גרסה 1.2.0-alpha01 מכילה את השמירות האלה.
תכונות חדשות
- הוספת וריאנטים של
trace()ו-traceAsync()עם חישוב מחרוזת וקובץ cookie מושהה. בנוסף, עכשיו המערכת מדלגת בצורה נכונה עלTrace.endאםTrace.beginזורק. (I31421, b/175233952, b/247066503)
גרסה 1.1
גרסה 1.1.0
11 במאי 2022
androidx.tracing:tracing:1.1.0 ו-androidx.tracing:tracing-ktx:1.1.0 מופצים. גרסה 1.1.0 מכילה את השמירות האלה.
שינויים חשובים מאז גרסה 1.0.0
- הוספנו
Trace.forceEnableAppTracing()API כדי לאלץ הפעלה של לכידת קטע של מעקב אחר אפליקציה (כלומר, ממשקי android.os.Trace / androidx.tracing API) בגרסאות build שלא ניתן לבצע בהן ניפוי באגים. יש להפעיל את הפונקציה הזו בתחילת האתחול כדי להפעיל תיעוד עקבות המערכת מדויק שלא ניתן לבצע ניפוי באגים, לפני ההשקה של תג המניפסט שאפשר ליצור ממנו פרופיל ב-API 29. (I3a309) - נמנעות שגיאות באימות מחלקה כש-Trace.java נטען בפעם הראשונה (05f6b4 ו-cb101f)
גרסה 1.1.0-rc01
20 באפריל 2022
הגרסאות androidx.tracing:tracing:1.1.0-rc01 ו-androidx.tracing:tracing-ktx:1.1.0-rc01 שוחררו ללא שינויים מאז beta01. גרסה 1.1.0-rc01 מכילה את השמירות האלה.
גרסה 1.1.0-beta01
1 בדצמבר 2021
androidx.tracing:tracing:1.1.0-beta01 ו-androidx.tracing:tracing-ktx:1.1.0-beta01 מופצים. גרסה 1.1.0-beta01 מכילה את השמירות האלה.
אין שינויים מאז 1.1.0-alpha02.
גרסה 1.1.0-alpha02
17 בנובמבר 2021
androidx.tracing:tracing:1.1.0-alpha02 ו-androidx.tracing:tracing-ktx:1.1.0-alpha02 מופצים. גרסה 1.1.0-alpha02 מכילה את השמירות האלה.
תכונות חדשות
- הוספנו את Trace.forceEnableAppTracing(), ממשק API שמאפשר לחייב הפעלה של תיעוד קטעי מעקב באפליקציה (כלומר ממשקי ה-API של android.os.Trace / andoridx.tracing) בגרסאות build שלא ניתן לנפות בהן באגים. צריך להפעיל את הפונקציה הזו בתחילת ההפעלה כדי לאפשר מעקב מדויק אחרי המערכת שלא ניתן לניפוי באגים, לפני הוספת תג המניפסט שניתן ליצור לו פרופיל ב-API 29. (I3a309)
גרסה 1.1.0-alpha01
3 בנובמבר 2021
androidx.tracing:tracing:1.1.0-alpha01 ו-androidx.tracing:tracing-ktx:1.1.0-alpha01 מופצים. גרסה 1.1.0-alpha01 מכילה את השמירות האלה.
תיקוני באגים
גירסה 1.0
גרסה 1.0.0
28 באוקטובר 2020
androidx.tracing:tracing:1.0.0 ו-androidx.tracing:tracing-ktx:1.0.0 מופצים. גרסה 1.0.0 מכילה את השמירות האלה.
התכונות העיקריות בגרסה 1.0.0
עוזר לכתוב אירועי מעקב למאגר הנתונים הזמני של מעקב המערכת. אפשר להציג את זה באמצעות כלים כמו Systrace ו-Perfetto. הספרייה הזו מחליפה את המחלקה androidx.core.os.TraceCompat שהוצאה משימוש.
גרסה 1.0.0-rc01
14 באוקטובר 2020
androidx.tracing:tracing:1.0.0-rc01 וגם androidx.tracing:tracing-ktx:1.0.0-rc01 מופצים. גרסה 1.0.0-rc01 מכילה את השמירות האלה.
הגרסה הזו זהה לגרסה 1.0.0-beta01.
גרסה 1.0.0-beta01
24 ביוני 2020
הגרסאות androidx.tracing:tracing:1.0.0-beta01 ו-androidx.tracing:tracing-ktx:1.0.0-beta01 הושקו ללא שינויים מאז 1.0.0-alpha01. גרסה 1.0.0-beta01 מכילה את השינויים האלה.
גרסה 1.0.0-alpha01
10 ביוני 2020
androidx.tracing:tracing:1.0.0-alpha01 וגם androidx.tracing:tracing-ktx:1.0.0-alpha01 מופצים. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.
תכונות חדשות
androidx.tracing היא ספרייה שעוזרת לכתוב אירועי מעקב למאגר של מעקב המערכת. אפשר להציג את זה באמצעות כלים כמו Systrace ו-Perfetto. הספרייה הזו מחליפה את המחלקה androidx.core.os.TraceCompat שהוצאה משימוש. הגרסה הראשונית היא 1.0.0-alpha01.
מעקב אחר Perfetto
גירסה 1.0
גרסה 1.0.1
19 בנובמבר 2025
androidx.tracing:tracing-perfetto:1.0.1, androidx.tracing:tracing-perfetto-binary:1.0.1 ו-androidx.tracing:tracing-perfetto-handshake:1.0.1 שוחררו. גרסה 1.0.1 מכילה את השמירות האלה.
תיקוני באגים
- תמיכה בדפים בגודל 16KB (b7a7dd)
- הוסר המתווה הידני של הגישה לממשקי API חדשים של הפלטפורמה, כי זה קורה באופן אוטומטי באמצעות בניית מודלים של API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל, R8 בגרסה 3.3) ובכל ה-builds כשמשתמשים ב-AGP 8.1 ואילך (למשל, D8 בגרסה 8.1). ללקוחות שלא משתמשים ב-AGP, מומלץ לעדכן לגרסה 8.1 ומעלה של D8. למידע נוסף, מומלץ לעיין במאמר הזה. (Ia60e0, b/345472586)
- לא מומלץ לצרף עותקים של
FastNative/CriticalNativeלספרייה, אלא להשתמש בעותקים של הפלטפורמה היציבה. (I8238a, b/35664282, b/280878596)
גרסה 1.0.0
4 באוקטובר 2023
androidx.tracing:tracing-perfetto:1.0.0, androidx.tracing:tracing-perfetto-binary:1.0.0 ו-androidx.tracing:tracing-perfetto-handshake:1.0.0 הושקו. גרסה 1.0.0 מכילה את השינויים האלה.
התכונות העיקריות בגרסה 1.0.0
- זו הגרסה היציבה הראשונה של ספריות Tracing-perfetto.
גרסה 1.0.0-rc01
20 בספטמבר 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-rc01, androidx.tracing:tracing-perfetto-binary:1.0.0-rc01 ו-androidx.tracing:tracing-perfetto-handshake:1.0.0-rc01 הושקו ללא שינויים מאז גרסת הבטא האחרונה. גרסה 1.0.0-rc01 מכילה את השמירות האלה.
גרסה 1.0.0-beta03
30 באוגוסט 2023
androidx.tracing:tracing-perfetto:1.0.0-beta03, androidx.tracing:tracing-perfetto-binary:1.0.0-beta03 ו-androidx.tracing:tracing-perfetto-handshake:1.0.0-beta03 פורסמו. גרסה 1.0.0-beta03 מכילה את השינויים האלה.
- הגרסה עודכנה כדי להתאים לגרסה של androidx.benchmark.
גרסה 1.0.0-beta02
23 באוגוסט 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-beta02, androidx.tracing:tracing-perfetto-binary:1.0.0-beta02 וגם androidx.tracing:tracing-perfetto-handshake:1.0.0-beta02 פורסמו. גרסה 1.0.0-beta02 מכילה את השינויים האלה.
תכונות חדשות
- הופעלה תמיכה במעקב בזמן הפעלת האפליקציה (cold start).
גרסה 1.0.0-beta01
18 ביולי 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-beta01, androidx.tracing:tracing-perfetto-binary:1.0.0-beta01 וגם androidx.tracing:tracing-perfetto-handshake:1.0.0-beta01 פורסמו. גרסה 1.0.0-beta01 מכילה את השינויים האלה.
שינויים ב-API
- השם של
androidx.tracing.perfetto.Traceשונה ל-androidx.tracing.perfetto.PerfettoSdkTrace(I44af8) - לשם שמירה על עקביות, שינינו את השם של הקבוע exit code (קוד יציאה) ל-result code (קוד תוצאה) בפרוטוקול (Id1d1e).
- השם של
EnableTracingResponseשונה ל-Response. (I56275) - הוספנו אפשרות להפעיל מעקב אחר הפעלה מההתחלה (cold start) במצב מתמשך. נוספה פונקציה לניקוי (קבוע או לא קבוע) של מעקב אחר הפעלה קרה. (Iaa09d)
- ממשקי ה-API של Tracing Perfetto SDK תואמים ל-
android.os.Trace. (I73ba0, b/282199917) - מעבר לתבנית מפעל (factory pattern) עבור
LibrarySource, שמאפשרת להוסיף בקלות ל-API תרחישי שימוש עתידיים (למשל, טעינה ישירה של קובץ.so) במקרה הצורך. (I128df) - התאמה של הפרמטרים של
enableTracingColdStartל-enableTracingImmediate(I54126) - הארגומנט
killProcessהוסר ב-enableTracingColdStart(I81c4d)
גרסה 1.0.0-alpha17
21 ביוני 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha17, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha17 ו-androidx.tracing:tracing-perfetto-handshake:1.0.0-alpha17 פורסמו ללא שינויים מגרסת האלפא הקודמת. גרסה 1.0.0-alpha17 מכילה את השמירות האלה.
גרסה 1.0.0-alpha16
7 ביוני 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha16, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha16 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha16 פורסמו ללא שינויים מגרסת האלפא הקודמת. גרסה 1.0.0-alpha16 מכילה את השמירות האלה.
גרסה 1.0.0-alpha15
3 במאי 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha15, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha15 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha15 פורסמו ללא שינויים. גרסה 1.0.0-alpha15 מכילה את השמירות האלה.
גרסה 1.0.0-alpha14
5 באפריל 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha14, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha14 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha14 פורסמו ללא שינויים חדשים. גרסה 1.0.0-alpha14 מכילה את השמירות האלה.
גרסה 1.0.0-alpha13
22 במרץ 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha13, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha13 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha13 פורסמו ללא שינויים מאז הפרסום האחרון. גרסה 1.0.0-alpha13 מכילה את השינויים האלה.
גרסה 1.0.0-alpha12
8 במרץ 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha12, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha12 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha12 פורסמו ללא שינויים מאז גרסת האלפא הקודמת. גרסה 1.0.0-alpha12 מכילה את השמירות האלה.
גרסה 1.0.0-alpha11
22 בפברואר 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha11, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha11 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha11 מתפרסמות ללא שינויים. גרסה 1.0.0-alpha11 מכילה את השמירות האלה.
גרסה 1.0.0-alpha10
8 בפברואר 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha10, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha10 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha10 יוצאות ללא שינויים. גרסה 1.0.0-alpha10 מכילה את השמירות האלה.
גרסה 1.0.0-alpha09
10 בפברואר 2023
androidx.tracing:tracing-perfetto-binary:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
תכונות חדשות
- גרסה חדשה שמאפשרת לספריות אחרות של
androidx.tracing:tracing-perfetto*: 1.0.0-alpha09לעבוד יחד.
11 בינואר 2023
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha09 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha09 פורסמו ללא שינויים. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
גרסה 1.0.0-alpha08
7 בדצמבר 2022
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha08, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha08 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha08 פורסמו. גרסה 1.0.0-alpha08 מכילה את השינויים האלה.
תכונות חדשות
- שיפור הביצועים באמצעות אופטימיזציה של אופן הטיפול במחרוזות.
תיקוני באגים
- הוספנו כלל ProGuard שמונע הסרה של שיטות של
PerfettoNativeאם נעשה שימוש כלשהו במחלקה (מונע קריסה במקרה נישה שבו מתבצעת אתחול של מעקב, אבל אין קריאות מעקב באפליקציה).
גרסה 1.0.0-alpha07
9 בנובמבר 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha07, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha07 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha07 פורסמו. גרסה 1.0.0-alpha07 מכילה את השמירות האלה.
- הפחתת התקורה של JNI בממשקי ה-API של
androidx.tracing:tracing-perfetto.
גרסה 1.0.0-alpha06
24 באוקטובר 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha06, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha06 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha06 פורסמו. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.
- העדכון הזה לא כולל שינויים, רק עדכון של מספר הגרסה לסנכרון עם androidx.benchmark.
גרסה 1.0.0-alpha05
5 באוקטובר 2022
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha05, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha05 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha05 פורסמו. גרסה 1.0.0-alpha05 מכילה את השמירות האלה.
גרסה 1.0.0-alpha04
21 בספטמבר 2022
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha04, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha04 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha04 פורסמו. גרסה 1.0.0-alpha04 מכילה את השמירות האלה.
גרסה 1.0.0-alpha03
7 בספטמבר 2022
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha03, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha03 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha03 פורסמו.
תכונות חדשות
- אין תכונות חדשות מגרסה 1.0.0-alpha02.
גרסה 1.0.0-alpha02
24 באוגוסט 2022
הגרסאות androidx.tracing:tracing-perfetto:1.0.0-alpha02, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha02 וגם androidx.tracing:tracing-perfetto-common:1.0.0-alpha02 פורסמו. גרסה 1.0.0-alpha02 מכילה את השמירות האלה.
תיקוני באגים
- כמה שיפורים בהפעלה של שירות Perfetto
- שיפרנו את הטיפול במקרים שבהם לא מתקבלת תשובה, והוספנו קוד יציאה ייעודי: RESULT_CODE_CANCELLED.
- שיפרנו את הטיפול בשגיאות ניתוח.
- הגדרנו את
EnableTracingResponse.requiredVersionכ-nullable, כי אנחנו לא יכולים לדעת את הגרסה אם אין לנו אפשרות לתקשר עם החבילה. (I5ba20)
גרסה 1.0.0-alpha01
27 ביולי 2022
androidx.tracing:tracing-perfetto:1.0.0-alpha01, androidx.tracing:tracing-perfetto-binary:1.0.0-alpha01 ו-androidx.tracing:tracing-perfetto-common:1.0.0-alpha01 פורסמו. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.
- הערה: כל הספריות של
androidx.tracing:tracing-perfetto*מיועדות בתחילה לשימוש פנימי בלבד בספריות AndroidX. לא אמור להיות צורך להסתמך עליהם באופן ישיר.
תכונות חדשות
כל הספריות של
androidx.tracing:tracing-perfetto*מיועדות בהתחלה רק לשימוש פנימי בספריות של AndroidX, ואין צורך להסתמך עליהן באופן ישיר. אנחנו מתעדים את פרטי ההטמעה האלה כדי לשמור על שקיפות.
androidx.tracing:tracing-perfettoהיא ספרייה שעוזרת לכתוב אירועי מעקב באמצעות Perfetto SDK עם תקורה נמוכה. אפשר להשתמש בנתונים האלה ב-Benchmark, ב-Android Studio או בממשק המשתמש של Perfetto.
androidx.tracing:tracing-perfetto-binaryהוא קבוצה של תלות בינארית שנדרשת עבור androidx.tracing:tracing-perfetto.
androidx.tracing:tracing-perfetto-commonהיא תלות פנימית של androidx.tracing:tracing-perfetto, וכלים יכולים להשתמש בה כדי לשלב עם androidx.tracing:tracing-perfetto.