المقاييس

  
تتبُّع مقاييس وقت التشغيل المختلفة لتطبيقك وإعداد تقارير عنها
آخر الأخبار الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأوّلي
‫27 أغسطس 2025 - - 1.0.0-beta03 -

تحديد الاعتماديات

لإضافة اعتمادية على Metrics، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:

Groovy

dependencies {
    implementation "androidx.metrics:metrics-performance:1.0.0-beta03"
}

Kotlin

dependencies {
    implementation("androidx.metrics:metrics-performance:1.0.0-beta03")
}

لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات البناء.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.

الإصدار 1.0.0

الإصدار 1.0.0-beta03

‫27 أغسطس 2025

تم طرح androidx.metrics:metrics-performance:1.0.0-beta03. يتضمّن الإصدار 1.0.0-beta03 هذه التعديلات.

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

  • إصلاح الخطأ IllegalArgumentException("محاولة إزالة OnFrameMetricsAvailableListener التي لم تتم إضافتها مطلقًا"). لا تتم محاولة تسجيل توقيت اللقطة عندما لا يتم تسريع النافذة باستخدام الأجهزة، لأنّ Window.OnFrameMetricsAvailableListener لا يتيح ذلك. (I8fef2، b/436880904)

الإصدار 1.0.0-beta02

‫12 مارس 2025

تم طرح androidx.metrics:metrics-performance:1.0.0-beta02. يتضمّن الإصدار 1.0.0-beta02 هذه التعديلات.

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

  • إصلاح الأعطال DelegatingFrameMetricsListener cannot be cast... (Id891c، b/311218678)

الإصدار 1.0.0-beta01

‫10 يناير 2024

لقد كانت واجهة برمجة التطبيقات ووظائف هذه المكتبة ثابتة لبعض الوقت. يتم في هذا الإصدار طرح المكتبة في الإصدار التجريبي.

تم طرح androidx.metrics:metrics-performance:1.0.0-beta01. يتضمّن الإصدار 1.0.0-beta01 هذه التعديلات.

الإصدار 1.0.0-alpha04

‫5 أبريل 2023

يعدّل هذا الإصدار JankStats ليضم أحدث الإصلاحات، بما في ذلك معلومات أكثر دقة وشمولية حول التوقيت.

تم طرح androidx.metrics:metrics-performance:1.0.0-alpha04. يتضمّن الإصدار 1.0.0-alpha04 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • cpuDuration أكثر دقة الآن، بالإضافة إلى totalDuration الجديد على الإصدار 31 من واجهة برمجة التطبيقات (I59ce8، b/243694893)

الإصدار 1.0.0-alpha03

‫27 يوليو 2022

تم طرح androidx.metrics:metrics-performance:1.0.0-alpha03. يتضمّن الإصدار 1.0.0-alpha03 هذه التعديلات.

  • يتضمّن هذا الإصدار تحسينات طفيفة على واجهة برمجة التطبيقات مع اقتراب المكتبة من الإصدار التجريبي. أحد التغييرات في واجهة برمجة التطبيقات يزيل Executor من طريقة إنشاء المصنع createAndTrack() لإنشاء كائن JankStats. ويترتّب على ذلك آثار على دالة ردّ النداء OnFrameListener، إذ يتم الآن استدعاء أداة معالجة الأحداث هذه في سلسلة التعليمات التي تنقل البيانات لكل إطار إلى JankStats (سلسلة التعليمات الرئيسية/واجهة المستخدم في الإصدارات الأقدم من المستوى 24 لواجهة برمجة التطبيقات، وسلسلة التعليمات FrameMetrics في المستوى 24 لواجهة برمجة التطبيقات والإصدارات الأحدث). علاوةً على ذلك، تتم إعادة استخدام العنصر FrameData الذي تم تمريره إلى أداة معالجة الأحداث في كل إطار، لذا يجب نسخ البيانات من هذا العنصر وتخزينها مؤقتًا في مكان آخر أثناء دالة ردّ النداء، لأنّه يجب اعتبار هذا العنصر قديمًا بمجرد أن تعرض أداة معالجة الأحداث.

  • تم أيضًا إصلاح العديد من الأخطاء، بما في ذلك بعض المشاكل المتعلقة بالتزامن.

  • أخيرًا، يعني إصلاح مشكلة إعادة استخدام FrameData (المذكورة أعلاه) أنّه لم يعُد هناك أي عمليات تخصيص لكل إطار بسبب عرض مقاييس الإطارات. لم تكن هناك العديد من عمليات التخصيص من قبل، ولكن النهج الجديد يعني أنّه يمكنك استخدام JankStats بدون تكبُّد أي تكلفة إضافية لكل إطار في تطبيقك.

تغييرات واجهة برمجة التطبيقات

  • تم تعديل أسماء الطرق والمَعلمات في PerformanceMetricsState لجعل نتائج هذه الطلبات أكثر وضوحًا. (I56da5، b/233421985)
  • أضفنا اختبارات قياس الأداء لتتبُّع عمليات التخصيص، وأزلنا بعض عمليات التخصيص الداخلية المتعلقة بإدارة الحالة وإعداد التقارير. يُرجى العِلم أنّ قيمة FrameData التي يتم تمريرها إلى أدوات معالجة الأحداث أصبحت الآن متغيرة، وسيتم إعادة استخدام هذه البنية للإطار التالي، ولن تكون البيانات موثوقة إلا إلى أن تعود أداة معالجة الأحداث.
  • تمت إزالة Executor من الدالة الإنشائية JankStats، ويتم الآن استدعاء أدوات المعالجة في أي سلسلة محادثات تم استلام البيانات الداخلية عليها. (I12743)

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

  • تم إصلاح عُطل بسبب إزالة OnFrameMetricsAvailableListener مرّتين (I44094، b/239457413)
  • الرجوع إلى منطق النشر الأصلي OnPreDrawListener للرسائل في مقدّمة قائمة الانتظار، من أجل توفير توقيت أكثر اتساقًا ويمكن توقّعه للإطارات (I05a43، b/233358407)
  • تم إصلاح الخطأ ConcurrentModificationException الذي كان يؤدي إلى تعديل قائمة عناصر التحكّم في المستمعين أثناء تكرارها لإرسال بيانات كل إطار. (Ib7693، b/236612357)

الإصدار 1.0.0-alpha02

‫29 يونيو 2022

تم طرح androidx.metrics:metrics-performance:1.0.0-alpha02. يتضمّن الإصدار 1.0.0-alpha02 هذه التعديلات.

تغييرات واجهة برمجة التطبيقات

  • تمت إعادة تسمية MetricsStateHolder إلى Holder فقط (ضمن PerformanceMetricsState): (I5a4d9، b/226565716، b/213499234)

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

  • تم إصلاح مشكلة التوقيت التي كان من الممكن فيها استبدال الحالات بقيم جديدة قبل معالجة اللقطات التي كانت الحالة القديمة فيها صحيحة (aosp/2061892 وb/213499234)
  • تم إصلاح استثناء التعديل المتزامن عند إضافة/إزالة المستمعين (aosp/2092714 وb/213499234)
  • تحسين دقة احتساب startTime (aosp/2027704 وb/213245198)
  • تم إصلاح الخطأ في تنفيذ FrameData.equals() (aosp/2025866 وb/218296544)

الإصدار 1.0.0-alpha01

‫9 فبراير 2022

تم طرح androidx.metrics:metrics-performance:1.0.0-alpha01. يتضمّن الإصدار 1.0.0-alpha01 هذه التعديلات.

الميزات الجديدة

  • توفّر مكتبة JankStats وظائف لتسجيل البيانات وتلقّي عمليات رد الاتصال في تطبيقك أثناء وقت التشغيل، ما يساعد في العثور على مشاكل الأداء في العالم الحقيقي.
  • تجمع JankStats بين واجهة برمجة تطبيقات تسهّل إدخال معلومات حول حالة واجهة المستخدم وإمكانات تتبُّع الأداء وإعداد التقارير لكل إطار، ما يتيح للمطوّرين معرفة ما إذا كان التطبيق يعاني من مشاكل في الأداء، ومتى ولماذا.