المقاييس
آخر تعديل | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار التجريبي |
---|---|---|---|---|
12 آذار (مارس) 2025 | - | - | 1.0.0-beta02 | - |
الإعلان عن التبعيات
لإضافة تبعية على "المقاييس"، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle
ل
تطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta02" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta02") }
لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإصدار.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية عن طريق النقر على زرّ النجمة.
اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.
الإصدار 1.0.0
الإصدار 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
(سلسلة المهام Main/UI في الإصدارات الأقدم من Android 24 وسلسلة المهامFrameMetrics
في الإصدارات 24 من Android والإصدارات الأحدث). بالإضافة إلى ذلك، تتم إعادة استخدام عنصر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
إلى "المالك" فقط (ضمن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
يجمع بين واجهة برمجة تطبيقات تسهّل إدخال معلومات عن حالة واجهة المستخدم مع إمكانات تتبُّع أداء كل إطار وإعداد تقارير عنه، ما يسمح للمطوّرين بمعرفة متى تحدث مشاكل في الأداء وسببها، وليس ما إذا كان التطبيق يواجه مشاكل في الأداء.