التتبع

  
كتابة أحداث التتبُّع في مخزن تتبُّع النظام المؤقت
آخر تحديث الإصدار المستقر إصدار محتمل الإصدار التجريبي الإصدار الأولي
‫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(...) تقبل نوع Long Java. (Ic0469، b/356082604)
  • تستخدم ميزة "التتبُّع 2.0" الآن Long لمعرّفات Thread الخاصة بالمنصة. (I67277)

إصلاح الأخطاء

الإصدار ‎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 هذه التعديلات.

إصلاح الأخطاء

  • تجنُّب أخطاء التحقّق من الفئة عند تحميل Trace.java للمرة الأولى (05f6b4 وcb101f)

الإصدار 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.