قياس أداء تطبيقك (المشاهدات)

المفاهيم والتنفيذ في Jetpack Compose

تُعد المقارنة بالأداء طريقة لفحص أداء تطبيقك وتتبُّعه. ويمكنك إجراء عمليات مقارنة بالأداء بانتظام لتحليل مشاكل الأداء وتصحيحها والمساعدة في ضمان عدم حدوث تراجع في التغييرات الأخيرة.

يتيح نظام التشغيل Android مكتبتَين وأسلوبَين مختلفَين لقياس الأداء وتحليل أنواع مختلفة من الحالات واختبارها في تطبيقك، وهما Macrobenchmark وMicrobenchmark.

Macrobenchmark

تقيس مكتبة Macrobenchmark تفاعلات المستخدمين النهائيين الأكبر حجمًا، مثل بدء التشغيل والتفاعل مع واجهة المستخدم والرسوم المتحركة. توفّر المكتبة تحكّمًا مباشرًا في بيئة الأداء التي تختبرها. تتيح لك هذه الأداة التحكّم في عملية التجميع، كما تتيح لك بدء تطبيقك وإيقافه لقياس وقت بدء تشغيل التطبيق أو سرعة التنقّل فيه بشكل مباشر.

تُدرِج مكتبة Macrobenchmark الأحداث وتراقب النتائج خارجيًا من تطبيق اختبار تم إنشاؤه باستخدام اختباراتك. لذلك، عند كتابة مقاييس الأداء، لا تستدعي رمز تطبيقك مباشرةً، بل تتنقّل داخل تطبيقك كمستخدم.

اختبار الأداء الدقيق

تتيح لك مكتبة Microbenchmark قياس أداء رمز التطبيق مباشرةً في حلقة. تم تصميم هذا المقياس لقياس عمل وحدة المعالجة المركزية الذي يقيّم الأداء في أفضل الحالات، مثل عمليات الإحماء في Just in Time (JIT) وعمليات الوصول إلى القرص المخزّنة مؤقتًا، والتي قد تظهر لك مع حلقة داخلية أو دالة نشطة معيّنة. يمكن للمكتبة قياس الرمز الذي يمكنك استدعاؤه مباشرةً بشكل مستقل فقط.

في ما يلي بعض الحالات المناسبة لقياس الأداء:

  • عندما يحتاج تطبيقك إلى معالجة بنية بيانات معقّدة
  • عندما يتضمّن تطبيقك خوارزمية معيّنة تتطلّب إجراء عمليات حسابية مكثّفة ويتم استدعاؤها عدة مرات أثناء تشغيل التطبيق

يمكنك أيضًا قياس أجزاء من واجهة المستخدم. على سبيل المثال، يمكنك قياس تكلفة ربط عناصر RecyclerView، أو المدة التي يستغرقها تضخيم التنسيق، أو أداء عملية التنسيق والقياس في فئة View.

ومع ذلك، لا يمكنك قياس مدى مساهمة الحالات المرجعية في تجربة المستخدم الإجمالية. في بعض السيناريوهات، لا يوضّح لك قياس الأداء ما إذا كنت بصدد تحسين مشكلة عنق الزجاجة، مثل انخفاض عدد اللقطات في الثانية أو وقت بدء تشغيل التطبيق. لهذا السبب، من المهم تحديد مواضع الاختناق هذه أولاً باستخدام Android Profiler. بعد العثور على الرمز الذي تريد فحصه وتحسينه، يمكن تشغيل حلقة قياس الأداء بشكل متكرّر لإنشاء نتائج أقل تشويشًا. يتيح لك ذلك التركيز على مجال واحد للتحسين.

لا تعرض مكتبة Microbenchmark سوى معلومات عن تطبيقك، وليس عن النظام بشكل عام. لذلك، تكون هذه الأداة في أفضل حالاتها عند تحليل أداء الحالات الخاصة بالتطبيق، وليس الحالات التي قد تكون مرتبطة بمشاكل النظام بشكل عام.

مقارنة مكتبة مقاييس الأداء

Macrobenchmark اختبار الأداء الدقيق
الوظيفة قياس نقاط الدخول أو التفاعلات على مستوى عالٍ، مثل بدء نشاط أو تصفّح قائمة قياس الدوال الفردية
النطاق اختبار خارج العملية للتطبيق الكامل اختبار أثناء المعالجة لعمل وحدة المعالجة المركزية
السرعة سرعة متوسطة لتكرار عمليات التحسين يمكن أن تتجاوز مدة الفيديو دقيقة واحدة. سرعة إجراء عمليات التحسين غالبًا ما يستغرق ذلك أقل من 10 ثوانٍ.
التتبع وتتضمّن النتائج عمليات تتبُّع النظام. تتضمّن النتائج تلقائيًا الحد الأدنى من تتبُّع النظام وتتبُّع الطريقة.