قم بتهيئة سلوك المكتبة باستخدام وسيطات الأدوات التالية. يمكنك إما إضافتها إلى إعدادات Gradle أو تطبيقها مباشرةً عند تشغيل الأدوات من سطر الأوامر. لإعداد هذه الوسيطات لجميع عمليات تشغيل "استوديو Android" واختبار سطر الأوامر، عليك إضافتها إلى
testInstrumentationRunnerArguments
:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
}
}
يمكنك أيضًا إعداد وسيطات قياس الأداء عند تشغيل مقاييس الأداء من "استوديو Android". لتغيير الوسيطات، عليك إجراء ما يلي:
- عدِّل إعدادات التشغيل بالنقر على تعديل، ثم النقر على الإعدادات.
- عدِّل وسيطات الأدوات من خلال النقر على المزيد عبر وسيطات قياس الأداء.
- أضِف وسيطة قياس حالة التطبيق المطلوبة من خلال النقر على إضافة ضمن تجهيزات إضافية.
إذا كنت تتصل مباشرةً من سطر الأوامر، استخدم -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
أفلام مُقترَحة لك
- ملاحظة: يتم عرض نص الرابط عند إيقاف JavaScript.
- وسيطات قياس الأداء الصغرى
- إنشاء ملفات شخصية أساسية
- مكتبة JankStats