تمنحك أدوات قياس الأداء الدقيقة تلقائيًا معلومات عن التوقيت و عمليات تخصيص الرمز البرمجي الذي تم تنفيذه. إذا كنت تريد التحقيق في سبب بطء تنفيذ الرمز المُقيَّم، عليك فحص تتبع الطريقة الذي يتم تسجيله تلقائيًا على إصدارات نظام التشغيل المتوافقة، أو اختيار إعدادات ملف تعريف الأداء الأخرى.
لاختيار إعدادات أداة تحليل الأداء، أضِف مَعلمة أداة تشغيل الأدوات instrumentation runner
androidx.benchmark.profiling.mode
مع إحدى المَعلمات
MethodTracing
(التلقائية) أو
StackSampling
أو None
، كما هو موضّح في المقتطف التالي.
لمزيد من المعلومات حول الخيارات، يُرجى الاطّلاع على تسجيل طُرق Java/Kotlin.
MethodTracing
هو الإجراء المكافئ للتتبّع، وStackSampling
هو
الإجراء المكافئ لتحليل عيّنات الأداء كما هو محدّد في هذا المستند.
رائع
android { defaultConfig { // must be one of: 'None', 'StackSampling', or 'MethodTracing' testInstrumentationRunnerArguments["androidx.benchmark.profiling.mode"]= 'StackSampling' } }
Kotlin
android { defaultConfig { // must be one of: 'None', 'StackSampling', or 'MethodTracing' testInstrumentationRunnerArguments["androidx.benchmark.profiling.mode"] = "StackSampling" } }
عند إنشاء ملف تعريف أداء لاختبار معياري، يتم نسخ ملف .trace
للإخراج إلى المضيف في
الدليل إلى جانب نتائج JSON. لفحص نتائج التحليل في IDE IDE، انقر على رابط تتبُّع الطريقة أو تتبُّع تحليل تسلسل استدعاء الدوال البرمجية في نتائج اختبار الأداء الصغير.
MethodTracing
يكون تتبُّع الطريقة مفيدًا عند محاولة تحسين الرمز البرمجي لأنّه يمكن أن يساعدك في تحديد الطرق التي تستغرق وقتًا أطول من غيرها. يمكنك بعد ذلك التركيز على تحسين الطرق التي لها التأثير الأكبر في الأداء.
يتمّ إنشاء الملف الشخصي للتطبيق بشكل تسلسلي بعد قياس الرمز، لذا يعرض الاختبار كلاً من التوقيت الدقيق ونتائج الملف الشخصي.
تكون ميزة تتبُّع الطرق مفعَّلة تلقائيًا.
StackSampling
يمكن أن يساعد تتبُّع العيّنات أيضًا في تحديد الطرق المُكلّفة بدون زيادة الأداء الناتجة عن تتبُّع الطرق. ومع ذلك، إذا دخل تطبيقك في طريقة بعد تسجيل تسلسل استدعاء الدوال البرمجية وخرج من الطريقة قبل التسجيل التالي ، لن يتم تسجيل طلب استدعاء الطريقة. لتتبُّع الطرق التي تتضمن دورات حياة قصيرة بشكل صحيح، استخدِم ميزة تتبُّع الطرق بدلاً من ميزة تتبُّع العيّنات.
باستخدام ميزة جمع عيّنات الحِزم، تستدعي عيّنات الأداء الحِزم بعد اكتمال عملية الإعداد. يمكنك التحكّم في سلوك أخذ العينات، مثل وتيرة أخذ العينات ومدة أخذ العينات باستخدام قياسات الوسيطات.
في نظام التشغيل Android 10 (المستوى 29 من واجهة برمجة التطبيقات) والإصدارات الأحدث، يستخدم تحليل تسلسل استدعاء الدوال البرمجية أداة Simpleperf لتحليل
تسلسلات استدعاء الدوال البرمجية للتطبيقات، بما في ذلك رمز C++. على نظام التشغيل Android 9 (المستوى 28 لواجهة برمجة التطبيقات) والإصدارات الأقدم، يتم استخدام
Debug.startMethodTracingSampling
لالتقاط عيّنات تسلسل استدعاء الدوال البرمجية.
يمكنك ضبط وضع التحليل هذا من خلال إضافة قياسات أخرى للوسيطات:
androidx.benchmark.profiling.sampleFrequency
- عدد عيّنات الحِزم التي يتم تسجيلها في الثانية
- نوع الوسيطة: عدد صحيح
- الإعداد التلقائي هو 1000 عيّنة في الثانية.
androidx.benchmark.profiling.sampleDurationSeconds
- مدة الاختبار المعياري المطلوب تنفيذه.
- نوع الوسيطة: عدد صحيح
- المدة التلقائية هي 5 ثوانٍ.
androidx.benchmark.profiling.skipWhenDurationRisksAnr
- تخطّي تتبُّع الإجراءات عندما يكون من المحتمل أن يؤدي إلى حدوث خطأ ANR يجب إبقاء هذا الخيار مفعّلاً لعمليات التنفيذ المتسلسل، لأنّ أخطاء ANR يمكن أن تتسبب في مشاكل أثناء عمليات التنفيذ المتسلسل الطويلة.
- نوع الوسيطة: قيمة منطقية
- الإعداد التلقائي هو
true
بدون تحديد نمط
لا تلتقط هذه الوسيطة ملفًا لتحليل الأداء. لا يزال يتم قياس معلومات التوقيت والاقتسام.
أفلام مُقترَحة لك
- ملاحظة: يتم عرض نص الرابط عندما تكون لغة JavaScript غير مفعّلة.
- وسيطات أداة قياس الأداء المجهري
- تشغيل مقاييس الأداء في عملية الدمج المستمر