المقاييس
آخر الأخبار | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
---|---|---|---|---|
8 أكتوبر 2025 | 1.0.0 | - | - | - |
تحديد الاعتماديات
لإضافة اعتمادية على Metrics، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle
لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات البناء.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 1.0.0
الإصدار 1.0.0
8 أكتوبر 2025
تم طرح androidx.metrics:metrics-performance:1.0.0
. يتضمّن الإصدار 1.0.0 هذه التعديلات.
الميزات الرئيسية في الإصدار 1.0.0:
- تتيح لك واجهة برمجة التطبيقات JankStats قياس أداء اللقطات في تطبيقك، وإضافة سياق (ما يحدث، ومكان إنتاج اللقطات) إلى مقاييس الأداء. لمزيد من المعلومات، يُرجى الاطّلاع على المستندات.
الإصدار 1.0.0-rc01
24 سبتمبر 2025
تم طرح androidx.metrics:metrics-performance:1.0.0-rc01
. يتضمّن الإصدار 1.0.0-rc01 هذه التعديلات.
الإصدار 1.0.0-beta04
10 سبتمبر 2025
تم طرح androidx.metrics:metrics-performance:1.0.0-beta04
. يتضمّن الإصدار 1.0.0-beta04 هذه التعديلات.
المساهمة الخارجية
- إصلاح الخطأ
IndexOutOfBoundsException
فيJankStats
(I113e5،b/253576508)
الإصدار 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
بين واجهة برمجة تطبيقات تسهّل إدخال معلومات حول حالة واجهة المستخدم وإمكانات تتبُّع الأداء وإعداد التقارير لكل إطار، ما يتيح للمطوّرين معرفة ما إذا كان التطبيق يعاني من مشاكل في الأداء، ومتى تحدث هذه المشاكل وسبب حدوثها.