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