القياس المعياري هو طريقة لفحص أداء تطبيقك ومراقبته. ويمكنك إجراء قياسات معيارية بانتظام لتحليل مشاكل الأداء وتحديد الأخطاء فيها والمساعدة في ضمان عدم حدوث تراجع في التغييرات الأخيرة.
يوفر Android مكتبتَين للقياس المعياري ونهجَين لتحليل أنواع مختلفة من الحالات واختبارها في تطبيقك، وهما Macrobenchmark وMicrobenchmark.
Macrobenchmark
تقيس مكتبة Macrobenchmark تفاعلات أكبر للمستخدمين النهائيين، مثل بدء التشغيل والتفاعل مع واجهة المستخدم والرسوم المتحركة. وتوفر المكتبة تحكّمًا مباشرًا في بيئة الأداء التي تختبرها. وتتيح لك التحكّم في عملية التجميع وبدء تطبيقك وإيقافه لقياس بدء تشغيل التطبيق أو التمرير فيه بشكل مباشر.
تُدخِل مكتبة Macrobenchmark الأحداث وتراقب النتائج خارجيًا من تطبيق اختبار تم إنشاؤه باستخدام اختباراتك. لذلك، عند كتابة القياسات المعيارية، لا يمكنك استدعاء رمز تطبيقك مباشرةً، بل يمكنك الانتقال داخل تطبيقك كمستخدم.
Microbenchmark
تتيح لك مكتبة Microbenchmark قياس أداء رمز التطبيق بشكل مباشر في حلقة تكرار. تم تصميم هذه المكتبة لقياس عمل وحدة المعالجة المركزية (CPU) الذي يقيّم أفضل أداء ممكن، مثل الوصول إلى الذاكرة المؤقتة على القرص والوصول إلى الذاكرة المؤقتة لعمليات التجميع في الوقت المناسب (JIT)، وهو ما قد تلاحظه مع حلقة تكرار داخلية أو دالة نشطة معيّنة. لا يمكن للمكتبة قياس الرمز الذي يمكنك استدعاؤه مباشرةً بشكل منفصل.
في ما يلي حالات جيدة للقياس المعياري: * عندما يحتاج تطبيقك إلى معالجة بنية بيانات معقدة. * عندما يتضمّن تطبيقك خوارزمية معيّنة تتطلب عمليات حسابية كثيرة ويتم استدعاؤها عدة مرات أثناء تشغيل التطبيق.
يمكنك أيضًا قياس أداء أجزاء من واجهة المستخدم. على سبيل المثال، يمكنك قياس تكلفة ربط عناصر RecyclerView، أو المدة التي يستغرقها عرض تخطيط، أو أداء عملية عرض التخطيط وقياسه لفئة View.
ومع ذلك، لا يمكنك قياس مدى مساهمة الحالات التي تم قياسها معياريًا في تجربة المستخدم الإجمالية. في بعض السيناريوهات، لا يوضّح لك القياس المعياري ما إذا كنت تحسّن من مشكلة، مثل انخفاض عدد الإطارات أو وقت بدء تشغيل التطبيق. لهذا السبب، من الضروري تحديد هذه المشاكل أولاً باستخدام أداة Android Profiler. بعد العثور على الرمز الذي تريد التحقيق فيه وتحسينه، يمكن تشغيل حلقة التكرار التي تم قياسها معياريًا بشكل متكرر لإنشاء نتائج أقل ضوضاءً. ويتيح لك ذلك التركيز على مجال واحد للتحسين.
لا تعرض مكتبة Microbenchmark إلا معلومات عن تطبيقك، وليس عن النظام بشكل عام. لذلك، تكون هذه المكتبة أفضل في تحليل أداء الحالات الخاصة بالتطبيق، وليس الحالات التي قد تكون مرتبطة بمشاكل النظام بشكل عام.
مقارنة بين مكتبتَي القياس المعياري
| Macrobenchmark | Microbenchmark | |
|---|---|---|
| الوظيفة | قياس نقاط الدخول أو التفاعلات عالية المستوى، مثل بدء تشغيل نشاط أو تمرير قائمة | قياس الدوال الفردية |
| النطاق | اختبار خارج العملية للتطبيق الكامل | اختبار داخل العملية لعمل وحدة المعالجة المركزية (CPU) |
| السرعة | متوسط سرعة التكرار يمكن أن تتجاوز دقيقة واحدة | سرعة تكرار سريعة غالبًا ما تكون أقل من 10 ثوانٍ |
| التتبع | تتضمّن النتائج عمليات تتبُّع النظام | تتضمّن النتائج عملية تتبُّع بسيطة للنظام وعملية تتبُّع للطريقة تلقائيًا |
مُقترَحة لك
- ملاحظة: يتم عرض نص الرابط عند إيقاف JavaScript
- إنشاء ملفات شخصية أساسية {:#creating-profile-rules}
- مكتبة JankStats
- نظرة عامة على قياس أداء التطبيق