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