مقاييس

  
تتبُّع مقاييس وقت تشغيل مختلفة لتطبيقك وإعداد تقارير عنها
آخر تعديل الإصدار المستقر إصدار المرشح الإصدار التجريبي إصدار أولي
5 نيسان (أبريل) 2023 - - - 1.0.0-alpha04

إعلان التبعيات

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

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

رائع

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

Kotlin

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

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

ملاحظات

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

إنشاء عدد جديد

راجع وثائق "أداة تتبُّع المشاكل" للحصول على مزيد من المعلومات.

الإصدار 1.0.0

الإصدار 1.0.0-alpha04

5 نيسان (أبريل) 2023

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

تم إطلاق "androidx.metrics:metrics-performance:1.0.0-alpha04". يحتوي الإصدار 1.0.0-alpha04 على هذه الالتزامات.

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

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

الإصدار 1.0.0-alpha03

27 تموز (يوليو) 2022

تم إطلاق "androidx.metrics:metrics-performance:1.0.0-alpha03". يحتوي الإصدار 1.0.0-alpha03 على هذه الالتزامات.

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

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

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

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

  • تم تعديل أسماء الطُرق والمَعلمات في PerformanceMetricsState لتوضيح نتائج هذه الطلبات. (I56da5، b/233421985)
  • تمت إضافة اختبارات قياس الأداء لتتبّع التوزيعات، وتم القضاء على بعض التوزيعات الداخلية المتعلقة بإدارة الولاية وإعداد التقارير ذات الصلة. يُرجى العِلم أنّ قيمة FrameData التي يتم تمريرها إلى المستمعين تُعتبر الآن متقلبة. ستتم إعادة استخدام هذه البنية للإطار التالي وستكون البيانات موثوقة فقط إلى أن يعاود المستمع العرض.
  • تمت إزالة المنفِّذ من طريقة إنشاء 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" لتصبح "الحامل" فقط (ضمن "PerformanceMetricsState"): (I5a4d9، b/226565716، b/213499234)

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

  • تم إصلاح مشكلة التوقيت حيث يمكن استبدال الحالات بقيم جديدة قبل معالجة الإطارات حيث تكون الحالة القديمة صحيحة (aosp/2061892، b/213499234)
  • تم إصلاح استثناء التعديل المتزامن في إضافة/إزالة المستمعين (aosp/2092714، b/213499234)
  • جعل عمليات حساب وقت البدء أكثر دقة (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 واجهة برمجة تطبيقات تسهّل إدخال معلومات حول حالة واجهة المستخدم، بالإضافة إلى إمكانات تتبُّع الأداء في كل إطار وإعداد تقارير عنه بما يسمح للمطوّرين بعدم معرفة ما إذا كان التطبيق يواجه مشاكل في الأداء أم لا، بل والحالات التي يتم فيها ذلك وسبب ذلك.