يمكنك ضبط سلوك المكتبة باستخدام دلايلات instrumentation
التالية. يمكنك إضافة هذه الإعدادات إلى إعدادات Gradle أو تطبيقها
مباشرةً عند تشغيل أداة القياس من سطر الأوامر. لضبط هذه
المَعلمات لجميع عمليات تشغيل اختبارات "استوديو Android" واختبارات سطر الأوامر، أضِفها إلىملف testInstrumentationRunnerArguments
:
android {
defaultConfig {
// ...
testInstrumentationRunnerArguments["androidx.benchmark.dryRunMode.enable"] = "true"
}
}
يمكنك أيضًا إعداد مَعلمات الأدوات عند تشغيل معايير الأداء من IDE IDE Android Studio. لتغيير الوسيطات، اتّبِع الخطوات التالية:
- عدِّل إعدادات التشغيل من خلال النقر على تعديل ثم على الإعدادات.
- عدِّل وسيطات الأدوات من خلال النقر على المزيد بجانب وسيطات الأدوات.
- أضِف مَعلمة الأدوات المطلوبة بالنقر على إضافة ضمن أدوات القياس مَعلمات إضافية.
إذا كنت تُجري اختبار الأداء على مستوى التطبيق من سطر الأوامر، استخدِم -P
android.testInstrumentationRunnerArguments.[name of the argument]
:
./gradlew :benchmark:connectedAndroidTest -P android.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=BaselineProfile
إذا كنت تستدعي الأمر am instrument
مباشرةً (قد يكون ذلك هو الحال
في بيئات اختبار التطوير المتكامل)، يمكنك تمرير الوسيطة إلى am instrument
باستخدام -e
:
adb shell am instrument -e androidx.benchmark.enabledRules BaselineProfile -w com.example.macrobenchmark/androidx.test.runner.AndroidJUnitRunner
لمزيد من المعلومات عن ضبط مقاييس الأداء في عملية التطوير المتكامل (CI)، يُرجى الاطّلاع على مقالة قياس الأداء في عملية التطوير المتكامل (CI).
androidx.benchmark.compilation.enabled
يتيح لك إيقاف عملية الترجمة بين كل تكرار من اختبار الأداء. يتم تلقائيًا إعادة تثبيت التطبيق المستهدَف وإعادة تجميعه بين كل اختبار أداء، وذلك لاحترام CompilationMode
التي تم تمريرها إلى measureRepeated
. يتيح لك إيقاف هذا الخيار تخطّي كل من
إعادة التثبيت والترجمة إذا أردت مثلاً ترجمة التطبيق المستهدف بالكامل مرة واحدة قبل تشغيل مجموعة الاختبار وتشغيل جميع معايير الأداء على هذا الهدف المُترجَم بالكامل.
- نوع الوسيطة: قيمة منطقية
- الإعداد التلقائي:
true
androidx.benchmark.dryRunMode.enable
تتيح لك هذه الطريقة إجراء اختبارات الأداء في حلقة واحدة للتحقّق من عملها بشكل صحيح. ويمكنك استخدامه مع الاختبارات العادية كجزء من عملية إثبات الملكية.
- نوع الوسيطة: قيمة منطقية
- الإعداد التلقائي:
false
androidx.benchmark.enabledRules
يسمح بإجراء عمليات الفلترة لنوع واحد فقط من الاختبارات: إنشاء الملف الشخصي الأساسي أو اختبار الأداء الإجمالي. وتتوفّر أيضًا قوائم مفصولة بفواصل.
- نوع الوسيطة: سلسلة
- الخيارات المتاحة:
Macrobenchmark
BaselineProfile
- الإعداد التلقائي: غير محدّد
androidx.benchmark.junit4.SideEffectRunListener
قد تحصل على نتائج اختبار أداء غير متّسقة إذا تم تنفيذ مهمة غير ذات صلة في الخلفية أثناء إجراء الاختبار.
لإيقاف العمل في الخلفية أثناء قياس الأداء، اضبط listener
نوع وسيطة أداة القياس على
androidx.benchmark.junit4.SideEffectRunListener
.
- نوع الوسيطة: سلسلة
- الخيارات المتاحة:
androidx.benchmark.junit4.SideEffectRunListener
- الإعداد التلقائي: غير محدّد
androidx.benchmark.fullTracing.enable
تفعيل نقاط تتبُّع androidx.tracing.perfetto
، مثل تتبُّع androidx.tracing.perfetto
compositing في Jetpack Compose
عليك إعداد مشروعك لتتمكّن من تسجيل تتبُّع التركيبة من مقاييس الأداء. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة تسجيل تتبع باستخدام أداة قياس الأداء الموسّع في Jetpack.
- نوع الوسيطة: منطقي
- الإعدادات التلقائية هي:
false
androidx.benchmark.profiling.mode
يسمح هذا الخيار بتسجيل ملفات التتبُّع أثناء تنفيذ معايير الأداء. الخيارات المتاحة هي نفسها الخيارات المتاحة في مكتبة Microbenchmark. للمزيد من المعلومات، يمكنك الاطّلاع على الوصف في مقالة إنشاء ملف شخصي لاختبار Microbenchmark.
- نوع الوسيطة: سلسلة
- الخيارات المتاحة:
MethodTracing
StackSampling
None
- الإعداد التلقائي:
None
androidx.benchmark.startupProfiles.enable
يتيح لك إيقاف إنشاء ملفات بدء التشغيل أثناء قياس الأداء.
- نوع الوسيطة: منطقي
- الإعداد التلقائي:
true
androidx.benchmark.suppressErrors
يقبل هذا الخيار قائمة مفصولة بفواصل بالأخطاء لتحويلها إلى تحذيرات.
- نوع الوسيطة: قائمة سلاسل
الخيارات المتاحة:
DEBUGGABLE
يشير الخطأ
DEBUGGABLE
إلى أنّ الحزمة المستهدَفة تعمل باستخدامdebuggable=true
في البيان، ما يؤدي إلى خفض معالجة الأداء بشكل كبير لتفعيل ميزات تصحيح الأخطاء. لتجنُّب هذا الخطأ، يمكنك إجراء قياسات الأداء باستخدامdebuggable=false
. تؤثر الوسيطة القابلة لتصحيح الأخطاء في سرعة التنفيذ بطرق تعني أنّ تحسينات معايير الأداء قد لا تمتد إلى تجربة المستخدم الفعلية أو قد تؤدي إلى تراجع أداء الإصدار.LOW-BATTERY
عندما تكون طاقة البطارية منخفضة، غالبًا ما تقلّل الأجهزة من الأداء لتوفير طاقة البطارية المتبقية، على سبيل المثال عن طريق إيقاف الوحدات الأساسية الكبيرة. ويحدث ذلك حتى في حال توصيل الأجهزة بمصدر طاقة. لا تُخفِ هذا الخطأ إلا إذا كنت بصدد تحليل أداء التطبيق عن قصد مع انخفاض الأداء.
EMULATOR
يشير الخطأ
EMULATOR
إلى أنّ الاختبار القياسي يتم تنفيذه على أحد المحاكيات، وهو لا يمثّل أجهزة المستخدمين الفعلية. قد لا تنتقل تحسينات اختبار الأداء في المحاكي إلى تجربة المستخدمين الفعلية أو قد تؤدي إلى تراجع أداء الجهاز الفعلي. يجب استخدام جهاز مادي لقياس الأداء بدلاً من ذلك. يجب إيقاف هذا الخطأ بحذر شديد.NOT-PROFILEABLE
يتم تشغيل الحزمة المستهدَفة
$packageName
بدون<profileable shell=true>
. يجب أن يكون التطبيق قابلاً للتحليل على نظامَي التشغيل Android 10 و11 للسماح لتطبيق Macrobenchmark بتسجيل معلومات تتبُّع مفصّلة من العملية المستهدفة، مثل أقسام تتبُّع النظام المحدّدة في التطبيق أو المكتبات. يجب إيقاف هذا الخطأ بحذر شديد.METHOD-TRACING-ENABLED
تم تفعيل ميزة تتبُّع الطريقة في اختبار Macrobenchmark الذي تم إجراؤه للتطبيق الذي يتم قياس أدائه. يؤدي ذلك إلى تشغيل الجهاز الظاهري ببطء أكبر من المعتاد، لذا يجب مراعاة المقاييس من ملفات التتبُّع فقط بمصطلحات نسبية، على سبيل المثال، مقارنةً بسرعة التشغيل الأول بالتشغيل الثاني. يمكن أن يؤدي كتم هذا الخطأ إلى نتائج غير دقيقة في حال مقارنة مقاييس الأداء لملف الإصدار باستخدام خيارات تتبُّع طرق مختلفة.
الإعداد التلقائي: قائمة فارغة
additionalTestOutputDir
لضبط مكان حفظ تقارير قياس الأداء ونتائج تحليل الأداء بتنسيق JSON على الجهاز.
- نوع الوسيطة: سلسلة مسار
- الإعداد التلقائي: الدليل الخارجي لحزمة APK الاختبارية
أفلام مُقترَحة لك
- ملاحظة: يتم عرض نص الرابط عندما تكون لغة JavaScript غير مفعّلة.
- وسيطات أداة قياس الأداء المجهري
- إنشاء الملفات الشخصية للمرجع
- مكتبة JankStats