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

قم بتهيئة سلوك المكتبة باستخدام وسيطات الأدوات التالية. يمكنك إما إضافتها إلى إعدادات 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.Measurement.compilation.enabled

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

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

androidx.standard.dryRunMode.enable

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

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

androidx.criterion.enabledالقواعد

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

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

androidx.measure.junit4.SideEffectRunListener

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

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

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

androidx.measure.perfettoSdkTracing.enable

تعمل هذه السياسة على تفعيل نقاط تتبُّع androidx.tracing.perfetto، مثل تتبُّع تركيبة Jetpack Compose. ولا يكون لذلك تأثير إلّا عند عدم استخدام StartupMode.COLD، لأنّ تفعيل نقاط التتبّع يؤدي إلى تنشيط العملية المستهدَفة.

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

androidx.standard.profiling.mode

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

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

androidx.standard.startupProfiles.enable

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

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

androidx.measure.suppressErrors

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

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

    • DEBUGGABLE

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

    • LOW-BATTERY

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

    • EMULATOR

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

    • NOT-PROFILEABLE

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

    • METHOD-TRACING-ENABLED

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

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

additionalTestمخرجDir

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

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