التتبع
| آخر تحديث | الإصدار المستقر | إصدار محتمل | الإصدار التجريبي | الإصدار الأولي |
|---|---|---|---|---|
| 12 أكتوبر 2026 | 2.0.4 | - | - | - |
الملاحظات
تساعدنا ملاحظاتك في تحسين أداء Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Issue Tracker.
التتبع
الإصدار 2.0
الإصدار 2.0.4
12 أكتوبر 2026
تم طرح androidx.tracing:tracing-*:2.0.4. يتضمّن الإصدار 2.0.4 هذه التعديلات.
تم إصلاح الأخطاء
- تم إصلاح مشكلة تزامن عند إفراغ حِزم التتبُّع. (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 هذه التعديلات.
الإصدار 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 هذه التعديلات.
الميزات الرئيسية للإصدار 2.0.0:
تتيح واجهة برمجة التطبيقات الجديدة ضمن العملية ما يلي:
- تسجيل محتوى التتبُّع أثناء المعالجة في الميدان
- عمليات Perfetto (الأسهم من شريحة إلى أخرى)
- تعليقات Perfetto التوضيحية (البيانات الوصفية لتقسيم المفتاح/القيمة)
traceCoroutine() {}: واجهة برمجة تطبيقات لتتبُّع الكوروتين، والتي تتتبّع عمليات تبديل سلاسل المحادثات- تصفية الفئات
- نفقات عامة أقل بكثير من واجهة برمجة التطبيقات
android.os.Traceالحالية وبرنامج تضمينtrace() {} - تتبُّع KMP: يمكن استخدامه في المكتبات التي لا تعتمد على Android، وفي مشاريع JVM المضيفة
- الدمج مع تسجيل تتبُّع النظام بعد حدوث ذلك (يتم تنفيذه تلقائيًا في AndroidX Benchmark 1.5)
يُرجى العِلم أنّ واجهات برمجة التطبيقات الجديدة لتتبُّع الأخطاء تسجّل في مخزن مؤقت يتم التحكّم فيه من خلال العملية، وهو مخزن لم يتم تسجيله بعد من خلال تسجيل تتبُّع النظام في "استوديو Android". وستتم معالجة هذه المشكلة في أدوات تحليل الأداء في "استوديو Android" في إصدار قادم.
لم يتم إيقاف واجهات برمجة التطبيقات الحالية android.os.Trace / trace() {} نهائيًا. لا تزال واجهات برمجة التطبيقات هذه مقترَحة للأحداث المنخفضة التكرار التي يجب تسجيلها دائمًا في مخزن تتبُّع النظام المؤقت، خاصةً في المكتبات.
الإصدار 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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- يمكن لـ "
PerfettoCapture" و"PerfettoTraceRule" الآن تسجيل عمليات التتبُّع الجارية ودمجها في حزمة مستهدَفة. (I9a00b، b/497959820) - يبلغ الآن
minSdkفي "androidx.benchmark" 24. (Ic2a85)
إصلاح الأخطاء
- الإصدار 2.0-beta01 من Tracing (I1b162)
- استخدِم معرّفات سلاسل المحادثات الخاصة بالمنصة عند إنشاء معلومات المقطع الصوتي. (I6ba64)
الإصدار 2.0.0-alpha09
23 يونيو 2026
تم طرح androidx.tracing:tracing-*:2.0.0-alpha09. يتضمّن الإصدار 2.0.0-alpha09 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم إجراء تغيير بسيط على واجهة برمجة التطبيقات في
Tracerلإزالة الغموض بينinstant(...)وwriteInstant(...). (I0935a) - إضافة إمكانية استخدام رموز الانتشار في الأحداث الفورية (I99f81)
- السماح بالاستخدام الكامل لعمليات Perfetto في واجهة برمجة التطبيقات التجريبية لنقل السياق يدويًا (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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- إضافة إمكانية اكتشاف نُسخ من
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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- أضِف واجهة برمجة تطبيقات للحصول على أداة تتبُّع بديلة يمكن استخدامها عند إيقاف التتبُّع. (I84c98)
- جعل دورة حياة التتبُّع متسقة مع تتبُّع النظام (Ib391b)
- أصبحت واجهات برمجة التطبيقات الخاصة بالعدادات الآن لا تتطلّب أي تخصيص. (I5e73a)
إصلاح الأخطاء
- تم إصلاح قاعدة الاحتفاظ بحزمة تطوير البرامج (SDK) الخاصة بأداة Perfetto (
tracing-perfetto) التي تضمن إمكانية تفعيل حزمة تطوير البرامج (SDK) الخاصة بأداة Perfetto. (I1d227) - إضافة إمكانية تتبُّع أحداث
flush()(I38014، b/495852704)
الإصدار 2.0.0-alpha06
22 أبريل 2026
تم طرح androidx.tracing:tracing-*:2.0.0-alpha06. يتضمّن الإصدار 2.0.0-alpha06 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- يُرجى إزالة القيود عن "
File.createPerfettoFile()" ليتمكّن الآخرون من إنشاء أحواض بأمان. عندما يطرحblock()استثناءً فيtrace/traceCoroutine، يتم إنشاء حدثinstantللاستثناء باستخدام البيانات الوصفية التي تمثّل عناصر تتبُّع تسلسل استدعاء الدوال البرمجية المقابلة. (I682e5، b/501536851، b/437166283) - أضِف حمولة زائدة
setCounter(...)تقبل نوعLongJava. (Ic0469، b/356082604) - تستخدم ميزة "التتبُّع 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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تُرجع دوال المصنع
TraceSinkالآنTraceSinkوليسAbstractTraceSink. تحتوي الملفات الآن على لاحقة فريدة. نتأكّد من إمكانية إنشاء ملف جديد بشكل ذري سيتم استخدامه لتخزين حِزم التتبُّع. (I4c4aa، b/496298726) - تبسيط عملية نشر سياق الكوروتين وتسريعها (Ia62db)
- يتم تقديم السمة الاختيارية
attributes()عند إنشاءTraceDriverتوفّر طريقة لإضافة بيانات وصفية تتعلّق بالتتبُّع. (Ia147e)
إصلاح الأخطاء
- تتم الآن مزامنة سلاسل عمليات المعالجة ومسارات العدّادات. يؤدي ذلك إلى إصلاح الاستثناءات في النموذج:
java.lang.NullPointerException: Cannot invoke "androidx.tracing.ThreadTrack.flush$tracing()" because "threadTrack" is null - تجنَّب إصدار أحداث المصدر عند إيقاف التتبُّع.
الإصدار 2.0.0-alpha04
25 مارس 2026
تم طرح androidx.tracing:tracing-*:2.0.0-alpha04. يتضمّن الإصدار 2.0.0-alpha04 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- اجعل
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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة تنفيذ تجريبي لـ
InMemoryRingBufferTraceSinkيتيح ضبط قيود على السعة وتجنُّب الكتابة على القرص ما لم يتم طلب ذلك صراحةً. (I1dc44، b/484409653، I65a37، b/484409653) - إصلاح حالة التنافس عند إصدار أحداث التتبُّع لعمليات تعليق واستئناف الروتين الفرعي (Ie145e)
إصلاح الأخطاء
- لم يعُد
androidx.tracingيحاول تلقائيًا إنشاء اتصالات من الدوال الفرعية الرئيسية إلى الدوال الفرعية في عمليات التتبُّع. كان هذا الأمر مربكًا، لأنّ تنسيق التتبُّع الأساسي لا يتيح اتصالات1:NوN:1، ما يؤدي إلى ظهور مجموعة من الأسهم بسبب الغموض حول شريحة الكوروتين التي تتصل بماذا. لا يزال بإمكانك الموافقة يدويًا على النشر باستخدام واجهة برمجة التطبيقات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 هذه التعديلات.
الميزات الجديدة
يقدّم الإصدار 2.0 من AndroidX Tracing واجهة برمجة تطبيقات جديدة ومهمة لتتبُّع العمليات داخل التطبيق بأقل قدر من الموارد، وذلك كإضافة إلى واجهات برمجة التطبيقات الحالية المستندة إلى android.os.Tracing في الإصدار 1.0 من Tracing. تتوفّر واجهات برمجة التطبيقات الجديدة على كل من Android وJVM المضيف، ما يتيح لأدوات المضيف إصدار تتبُّعات منخفضة النفقات لتحليل الأداء، باستخدام تنسيق تتبُّع Perfetto العادي نفسه.
يتوافق كل من "استوديو Android" وPerfetto مع عمليات التتبُّع الصادرة، ويمكن تسجيلها باستخدام مجموعة الخصائص الموسّعة التي تشمل وضع علامات على الشرائح باستخدام البيانات الوصفية (مثل وسيطات الدوال) ونشر تتبُّع سياق الكوروتين.
تم تصميم إصدار Alpha الأوّلي هذا لسير عمل تتبُّع العمليات الجارية فقط، ولم يتم دمجه بعد مع ميزة تتبُّع نظام التشغيل Android أو ميزة "تتبُّع النظام" في أداة Studio Profiler، وسيتم توفير هذه الميزات في إصدار Alpha مستقبلي.
/**
* 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)
}
}
}
تغييرات واجهة برمجة التطبيقات
- اجعل
Tracerسمة من سماتTraceDriver. (Iabd9b) - إضافة إمكانية نشر السياق يدويًا (I899ff)
- إضافة إمكانية إضافة معلومات حول تسلسل استدعاء الدوال البرمجية في قسم التتبُّع (If6a1b)
- تقديم واجهات برمجة التطبيقات الجديدة في
androidx.tracing(I5102b) - السماح للأحداث الفورية باحتواء بيانات وصفية، وإضافة عدّادات إلى الأحداث الفورية والعدّادات (Ia2ed3)
- تقليل مساحة سطح واجهة برمجة التطبيقات التي تم التعليق عليها باستخدام
@DelicateTracingApi. يجب ألا يتطلّب أي عنصر في واجهة برمجة التطبيقات ذات المستوى الأعلى استخدام@DelicateTracingApi. (I565e0) - تبسيط عملية نقل السياق من خلال توحيد
PropagationToken(Iab839) - تثبيت واجهات برمجة التطبيقات
BlackHoleفيandroidx.benchmark(I2b67e، b/451749438) - إضافة إمكانية إضافة تعليقات توضيحية إلى قسم التتبُّع كفترة جذرية (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()إلىtraceCoroutine(). (I79ad0) - إضافة إمكانية إضافة معلومات سياقية إلى الشرائح من خلال التعليقات التوضيحية لتصحيح الأخطاء في تتبُّع Perfetto (Ic2b56)
- إتاحة إنشاء مثيل من
WireTraceSinkباستخدامFile/OutputStream(Iecea0) - Removing obsolete
@RequiresApi(21)annotations (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 هذه التعديلات.
التغييرات المهمة منذ الإصدار 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 هذه التعديلات.
تغييرات واجهة برمجة التطبيقات
- تم نقل كل الرموز من الوحدة
tracing-ktxإلىtracing. (Iba550) - تم تحويل الفئة
androidx.tracing.Traceإلى Kotlin. (Ie4e5d)
إصلاح الأخطاء
- تمت إزالة التحديد اليدوي لنطاق الوصول إلى واجهات برمجة التطبيقات الجديدة للمنصة لأنّ ذلك يحدث تلقائيًا من خلال تصميم واجهة برمجة التطبيقات عند استخدام R8 مع الإصدار 7.3 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP) (مثل الإصدار 3.3 من R8) وجميع عمليات الإنشاء عند استخدام الإصدار 8.1 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP) (مثل الإصدار 8.1 من D8). ننصح العملاء الذين لا يستخدمون 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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- أزِل crossinline من التتبُّع للسماح باستخدامه في
@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()مع سلسلة بطيئة واحتساب ملفات تعريف الارتباط. يتم الآن أيضًا تخطّي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()مع سلسلة بطيئة واحتساب ملفات تعريف الارتباط. يتم الآن أيضًا تخطّي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()لفرض تفعيل ميزة التقاط قسم تتبُّع التطبيق (أي واجهات برمجة التطبيقات android.os.Trace / androidx.tracing) في الإصدارات غير القابلة للتصحيح. يمكنك استدعاء هذه الطريقة في بداية التشغيل لتفعيل تتبُّع النظام الدقيق غير القابل للتصحيح قبل تقديم علامة البيان القابلة للملف الشخصي في المستوى 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() لفرض تفعيل التقاط قسم تتبُّع التطبيق (أي واجهات برمجة التطبيقات android.os.Trace / andoridx.tracing) في الإصدارات غير القابلة للتصحيح. يجب استدعاء هذا الإجراء في بداية عملية التشغيل لتفعيل تتبُّع النظام الدقيق غير القابل للتصحيح قبل طرح علامة البيان profileable في الإصدار 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 هذه التعديلات.
إصلاح الأخطاء
- إتاحة أحجام الصفحات التي تبلغ 16 كيلوبايت (b7a7dd)
- تمت إزالة التحديد اليدوي لنطاق الوصول إلى واجهات برمجة التطبيقات الجديدة للمنصة لأنّ ذلك يحدث تلقائيًا من خلال تصميم واجهة برمجة التطبيقات عند استخدام R8 مع الإصدار 7.3 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP) (مثل الإصدار 3.3 من R8) وجميع عمليات الإنشاء عند استخدام الإصدار 8.1 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP) (مثل الإصدار 8.1 من D8). ننصح العملاء الذين لا يستخدمون 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 هذه التعديلات.
الميزات الجديدة
- تم تفعيل إمكانية تتبُّع الأخطاء عند بدء تشغيل التطبيق (التشغيل على البارد).
الإصدار 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 هذه التعديلات.
التغييرات في واجهة برمجة التطبيقات
- تم تغيير اسم
androidx.tracing.perfetto.Traceإلىandroidx.tracing.perfetto.PerfettoSdkTrace(I44af8) - تمت إعادة تسمية ثوابت "رمز الخروج" لتصبح "رمز النتيجة" في البروتوكول من أجل الاتساق (Id1d1e)
- تمت إعادة تسمية "
EnableTracingResponse" إلى "Response". (I56275) - تمت إضافة خيار لتفعيل تتبُّع التشغيل على البارد في وضع دائم. تمت إضافة دالة لمحو تتبُّع التشغيل على البارد (سواء كان مستمرًا أم لا). (Iaa09d)
- تمت مطابقة واجهات برمجة التطبيقات الخاصة بحزمة تطوير البرامج (SDK) لأداة "تتبُّع الأداء" مع
android.os.Trace. (I73ba0، b/282199917) - تم الانتقال إلى نمط المصنع لـ
LibrarySource، ما يسمح بإضافة حالات الاستخدام المستقبلية (مثل تحميل ملف.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 في واجهات برمجة التطبيقات
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، لأنّه لا يمكننا معرفة الإصدار إذا تعذّر التواصل مع الحزمة. (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هي مكتبة تساعد في كتابة أحداث التتبُّع باستخدام حزمة تطوير البرامج (SDK) من Perfetto ذات النفقات العامة المنخفضة. يمكن استخدامها داخل Benchmark أو "استوديو Android" أو واجهة مستخدم Perfetto.
androidx.tracing:tracing-perfetto-binaryهي مجموعة من التبعيات الثنائية المطلوبة لحزمة androidx.tracing:tracing-perfetto.
androidx.tracing:tracing-perfetto-commonهي تبعية داخلية لـ androidx.tracing:tracing-perfetto ويمكن استخدامها من خلال الأدوات للتكامل مع androidx.tracing:tracing-perfetto.