المقاييس

  
تتبع العديد من مقاييس وقت التشغيل لتطبيقك وإعداد تقارير عنها
آخر تعديل الإصدار المستقر إصدار مرشح الإصدار التجريبي الإصدار الأولي
10 كانون الثاني (يناير) 2024 - - الإصدار 1.0.0-الإصدار التجريبي 01 -

تعريف التبعيات

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

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

رائع

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

Kotlin

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

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

ملاحظات

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

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

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

الإصدار 1.0.0

الإصدار 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 جديد على API31 (I59ce8، b/243694893)

الإصدار 1.0.0-alpha03

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

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

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