المقاييس
آخر تعديل | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | الإصدار الأولي |
---|---|---|---|---|
10 كانون الثاني (يناير) 2024 | - | - | الإصدار 1.0.0-الإصدار التجريبي 01 | - |
تعريف التبعيات
لإضافة تبعية على المقاييس، يجب إضافة مستودع Google Maven إلى مشروعك. يمكنك الاطّلاع على مستودع Maven الذي يضم أدوات Google للحصول على مزيد من المعلومات.
أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle
لتطبيقك أو وحدتك:
Groovy
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
بين واجهة برمجة تطبيقات تسهّل إدخال المعلومات حول حالة واجهة المستخدم مع إمكانيات تتبُّع الأداء في كل إطار وإعداد التقارير عنه ليتمكّن المطوّرون من فهم ما إذا كان التطبيق يواجه مشاكل في الأداء أم لا، بل يتيح لهم معرفة الوقت والسبب وراء ذلك.