تكون حِزم استدعاء الدوال البرمجية مفيدة في تحديد نقاط النشاط العالي لوحدة المعالجة المركزية، أو أقسام الرمز التي يستغرق تنفيذها وقتًا طويلاً. تساعدك حِزم استدعاء الدوال البرمجية في فهم الجزء الذي تم تنفيذه من الرمز البرمجي وسبب استدعائه.
نظرة عامة على عيّنة سلسلة استدعاء الدوال البرمجية
لأخذ عيّنة من حزمة استدعاء الدوال البرمجية، اختَر مهمة العثور على نقاط ساخنة لوحدة المعالجة المركزية (عيّنة من حزمة استدعاء الدوال البرمجية) من علامة التبويب الصفحة الرئيسية في "أداة فحص الأداء" في Android Studio. بعد تحليل التسجيل، ستظهر لك المرئيات التالية:
بالإضافة إلى المخططَين الزمنيَين استخدام وحدة المعالجة المركزية والتفاعلات، يعرض قسم سلاسل التنفيذ اللقطات لكل عملية استدعاء يجريها تطبيقك والنظام. في ما يلي بعض النصائح للتنقّل في عيّنة سلسلة استدعاء الدوال البرمجية:
- وسِّع سلسلة المحادثات التي تهمّك واستخدِم اختصارات لوحة المفاتيح للتنقّل بين إطارات تسلسل استدعاء الدوال البرمجية. انقر على إطار تسلسل استدعاء الدوال البرمجية للحصول على تفاصيل حول الحدث والمكالمات ذات الصلة في جزء التحليل.
- للتصفية حسب أنواع معيّنة من إطارات سلسلة استدعاء الدوال البرمجية، انقر على تصغير الإطارات وضع علامة في مربّعات أنواع الإطارات التي تريد إخفاءها. يؤدي تصغير اللقطات إلى إزالتها من قسمَي سلاسل المحادثات والتحليل. استنادًا إلى التحقيق الذي تجريه، قد تحتاج إلى تصغير إطارات من آلة Java الافتراضية (مثل
android::AndroidRuntime::start
وart::{...}
) ونواة النظام (مثل[kernel.kallsyms]+{offset}
). يتوافق ذلك عادةً مع تصغير الإطارات ذات الصلة بـ[kernel.kallsyms]
و/apex/
و/system/*
.
بما أنّ برنامج Java/Kotlin يتم تنفيذه عادةً من خلال آلة Java الافتراضية، فعندما يجمع Android Studio سلسلة استدعاءات لبرنامج Java/Kotlin، تتضمّن سلسلة الاستدعاءات عادةً رموز Java/Kotlin، بالإضافة إلى الرموز الأصلية المطلوبة لتشغيل البرنامج نفسه ولتواصل البرنامج مع النظام والأجهزة.
- للانتقال إلى رمز المصدر المرتبط بإطار تسلسل استدعاء الدوال البرمجية، انقر بزر الماوس الأيمن على الإطار وانقر على الانتقال إلى رمز المصدر.
- لتسليط الضوء على إطار تسلسل استدعاء الدوال البرمجية المرتبط بحدث معيّن في جدول الأحداث، انقر على الحدث.
للحصول على معلومات حول الرسومات الأخرى، راجِع تسجيل تتبُّع النظام ومسرد المخططات.
نموذج للرمز البرمجي الأصلي باستخدام سطر الأوامر
يستخدم "استوديو Android" داخليًا أداة simpleperf لتتبُّع الرمز البرمجي الأصلي لتطبيقك. إذا أردت تحديد خيارات إضافية لأداة Simpleperf، مثل أخذ عيّنات من وحدات المعالجة المركزية (CPU) لأجهزة معيّنة أو تحديد مدة أخذ العيّنات بدقة عالية، يمكنك استخدام Simpleperf من سطر الأوامر.