تمنحك أدوات قياس الأداء الدقيقة تلقائيًا معلومات عن التوقيت و عمليات تخصيص الرمز البرمجي الذي تم تنفيذه. إذا كنت تريد معرفة سبب بطء تنفيذ الرمز المُقاس، يمكنك تنفيذ معايير الأداء مع إرفاق أداة تحليل أداء وحدة المعالجة المركزية.
لاختيار إعدادات أداة تحليل الأداء، أضِف وسيطة أداة تحليل الأداء
runner androidx.benchmark.profiling.mode
مع إحدى وسيطات
MethodTracing
أو StackSampling
أو
None
، كما هو موضّح في المقتطف التالي.
لمزيد من
المعلومات حول الخيارات، يُرجى الاطّلاع على اختيار إعدادات التسجيل.
MethodTracing
هو المكافئ لـ "تتبُّع طرق Java"، وStackSampling
هو المكافئ لـ "عيّنات طرق Java" كما هو محدّد في هذا المستند.
رائع
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. لفحص نتائج تحليل الأداء في أداة تحليل أداء وحدة المعالجة المركزية (CPU) في "استوديو Android"، اختَر ملف > فتح. لمزيد من المعلومات عن قراءة عمليات التتبُّع وفهمها، اطّلِع على مقالة فحص عمليات التتبُّع.
MethodTracing
يكون تتبُّع الطريقة مفيدًا عند محاولة تحسين الرمز البرمجي لأنّه يمكن أن يساعدك في تحديد الطرق التي تستغرق وقتًا أطول من غيرها. يمكنك بعد ذلك التركيز على تحسين الطرق التي لها التأثير الأكبر في الأداء.
يتمّ إنشاء الملف الشخصي بشكل تسلسلي بعد قياس الرمز، لذا يعرض اختبارك كلاً من التوقيت الدقيق ونتائج الملف الشخصي.
StackSampling
يمكن أن يساعد تتبُّع العيّنات أيضًا في تحديد الطرق المُكلّفة بدون زيادة الأداء الناتجة عن تتبُّع الطرق. ومع ذلك، إذا دخل تطبيقك في طريقة بعد تسجيل تسلسل استدعاء الدوال البرمجية وخرج من الطريقة قبل الالتقاط التالي ، لن يتم تسجيل طلب استدعاء الطريقة. لتتبُّع الطرق التي تتضمن دورات حياة قصيرة بشكل صحيح، استخدِم ميزة تتبُّع الطرق بدلاً من ميزة تتبُّع العيّنات.
باستخدام ميزة "جمع عيّنات الحِزم"، تستدعي عيّنات الأداء الحِزم بعد اكتمال عملية الإعداد. يمكنك التحكّم في معدل أخذ العينات ومدة أخذ العينات باستخدام مَعلمات الأدوات.
في نظام التشغيل Android 10 (المستوى 29 من واجهة برمجة التطبيقات) والإصدارات الأحدث، يستخدم تحليل تسلسل استدعاء الدوال البرمجية أداة Simpleperf لتحليل
تسلسلات استدعاء الدوال البرمجية للتطبيقات، بما في ذلك رمز C++. على نظام التشغيل Android 9 (المستوى 28 لواجهة برمجة التطبيقات) والإصدارات الأقدم، يتم استخدام
Debug.startMethodTracingSampling
لالتقاط عيّنات تسلسل استدعاء الدوال البرمجية.
يمكنك ضبط وضع التحليل هذا عن طريق إضافة قياسات أخرى للوسيطات:
androidx.benchmark.profiling.sampleFrequency
- عدد عيّنات الحزمة التي يتم تسجيلها في الثانية
- نوع الوسيطة: عدد صحيح
- الإعداد التلقائي هو 1000 عيّنة في الثانية.
androidx.benchmark.profiling.sampleDurationSeconds
- مدة الاختبار المعياري المطلوب تنفيذه.
- نوع الوسيطة: عدد صحيح
- المدة التلقائية هي 5 ثوانٍ.
بدون تحديد نمط
لا تلتقط هذه الوسيطة ملف ملفّات تعريف الأداء. لا يزال يتم قياس معلومات التوقيت والاقتسام.
أفلام مُقترَحة لك
- ملاحظة: يتم عرض نص الرابط عندما تكون لغة JavaScript غير مفعّلة.
- وسيطات أداة قياس الأداء المجهري
- تشغيل مقاييس الأداء في عملية الدمج المستمر