إضافة وسيطات قياس حالة التطبيق

اضبط سلوك المكتبة باستخدام الوسيطات التالية. يمكنك إما إضافتها إلى تهيئة Gradle أو تطبيقها مباشرةً عند تشغيل الأدوات من سطر الأوامر. لإعداد هذه الوسيطات لجميع عمليات تشغيل اختبارات "استوديو Android" وسطر الأوامر، يمكنك إضافتها إلى testInstrumentationRunnerArguments:

android {
    defaultConfig {
        // ...
        testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
    }
}

يمكنك أيضًا إعداد وسيطات الأدوات عند تشغيل مقاييس الأداء من "استوديو Android". لتغيير الوسيطات، يمكنك إجراء ما يلي:

  1. عدِّل عملية الإعداد من خلال النقر على تعديل ثم النقر على الإعدادات.
    تعديل إعدادات التشغيل
    الشكل 1. عدِّل إعدادات التشغيل.
  2. يمكنك تعديل وسيطات الأدوات من خلال النقر على المزيد حسب وسيطات الأدوات.
    تعديل وسيطات الأدوات
    الشكل 2. عدِّل وسيطات الأدوات.
  3. أضِف وسيطة الأداة المطلوبة بالنقر على إضافة ضمن المَعلمات الإضافية لأدوات قياس الأداء.
    إضافة وسيطة الأداة المطلوبة
    الشكل 3. أضِف وسيطة الأداة المطلوبة.

في حال الاتصال من سطر الأوامر مباشرةً، استخدِم -P android.testInstrumentationRunnerArguments.[name of the argument].

./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile

androidx.standard.compilation.enabled

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

  • نوع الوسيطة: منطقية
  • الإعدادات التلقائية على: true

androidx.benchmark.dryRunMode.enable

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

  • نوع الوسيطة: منطقية
  • الإعدادات التلقائية على: false

androidx.benchmark.enabledRules

تسمح بتشغيل الفلترة بنوع واحد فقط من الاختبارات: إنشاء الملف الشخصي الأساسي أو اختبار قياس الأداء الكلي. يمكن أيضًا استخدام القوائم المفصولة بفواصل.

  • نوع الوسيطة: سلسلة
  • الخيارات المتاحة:
    • Macrobenchmark
    • BaselineProfile
  • الإعدادات التلقائية على: غير محدّد

androidx.standard.junit4.SideEffectRunListener

وقد تحصل على نتائج غير متسقة لقياس الأداء في حال تنفيذ عمل غير ذي صلة في الخلفية أثناء تشغيل مقياس الأداء.

لإيقاف العمل في الخلفية أثناء قياس الأداء، اضبط نوع وسيطة قياس الأداء listener على androidx.benchmark.junit4.SideEffectRunListener.

  • نوع الوسيطة: سلسلة
  • الخيارات المتاحة:
    • androidx.benchmark.junit4.SideEffectRunListener
  • الإعدادات التلقائية على: غير محدّدة

androidx.standard.fullTracing.enable

تفعِّل هذه السياسة نقاط تتبُّع androidx.tracing.perfetto، مثل تتبُّع التركيبة في Jetpack Compose.

تحتاج إلى إعداد مشروعك حتى تتمكن من تسجيل تتبع مقطوعة موسيقية من المعايير. لمزيد من المعلومات، يُرجى الاطّلاع على التقاط بيانات تتبُّع باستخدام مقياس أداء Jetpack للأجهزة الجوّالة.

  • نوع الوسيطة: منطقية
  • الإعدادات التلقائية على: false

androidx.standard.profiling.mode

تسمح بالتقاط ملفات التتبُّع أثناء تشغيل مقاييس الأداء. وتتطابق الخيارات المتاحة مع الخيارات المتاحة في مكتبة "مقاييس الأداء الصغيرة". ولمزيد من المعلومات، يمكنك الاطّلاع على الأوصاف في الملف الشخصي لمقاييس الأداء الجزئية.

  • نوع الوسيطة: سلسلة
  • الخيارات المتاحة:
    • MethodTracing
    • StackSampling
    • None
  • الإعدادات التلقائية على: None

androidx.benchmark.startupProfiles.enable

يسمح لك هذا الخيار بإيقاف إنشاء الملفات الشخصية للشركات الناشئة أثناء قياس الأداء.

  • نوع الوسيطة: منطقية
  • الإعدادات التلقائية على: true

androidx.standard.suppressErrors

تقبل قائمة الأخطاء المفصولة بفواصل لتحويلها إلى تحذيرات.

  • نوع الوسيطة: قائمة بالسلاسل
  • الخيارات المتاحة:

    • DEBUGGABLE

      يشير الخطأ DEBUGGABLE إلى أنّ الحزمة المستهدفة تعمل مع debuggable=true في ملف البيان الخاص بها، ما يقلّل بشكل كبير من أداء وقت التشغيل لإتاحة ميزات تصحيح الأخطاء. لتجنُّب هذا الخطأ، شغِّل مقاييس الأداء باستخدام debuggable=false. تؤثر الوسيطة التي يمكن تصحيح الأخطاء عليها في سرعة التنفيذ بطرق تؤدي إلى عدم انتقال التحسينات في مقياس الأداء إلى تجربة المستخدم الحقيقية أو إلى تراجع أداء الإصدار.

    • LOW-BATTERY

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

    • EMULATOR

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

    • NOT-PROFILEABLE

      يتم تشغيل حزمة الاستهداف $packageName بدون "<profileable shell=true>". يجب توفّر ميزة "قابلية الملف الشخصي" على نظامي التشغيل Android 10 وAndroid 11 للسماح لتطبيق MAXمقياس الأداء بالحصول على معلومات تتبّع تفصيلية من العملية المستهدفة، مثل أقسام تتبُّع النظام المحدّدة في التطبيق أو المكتبات. يمكنك منع هذا الخطأ بحذر شديد.

    • METHOD-TRACING-ENABLED

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

  • الإعدادات التلقائية على: قائمة فارغة

اختبار مخرج إضافي

تضبط هذه السياسة مكان حفظ تقارير مقياس أداء JSON ونتائج التحليل على الجهاز.

  • نوع الوسيطة: سلسلة المسار
  • الإعدادات التلقائية: اختبار الدليل الخارجي لملف APK