تعرَّف على المتطلبات وخطوات الإنشاء وأفضل الممارسات. keywords_public: ملفات تعريف بدء التشغيل، وملفات التعريف الأساسية، وأداء التطبيق، وتحسين حِزم APK، وتصميم DEX، و"استوديو Android"، وJetpack Macrobenchmark
ملفات تعريف بدء التشغيل هي مجموعة فرعية من ملفات تعريف المرجع. تستخدم "ملفات تعريف بدء التشغيل" نظام الإنشاء لتحسين الفئات والطرق التي تحتوي عليها من خلال تحسين تصميم الرمز في ملفات DEX الخاصة بحزمة APK. باستخدام "ملفات بدء التشغيل"، تكون سرعة بدء تشغيل تطبيقك عادةً أعلى بنسبة تتراوح بين% 15 و% 30 مقارنةً باستخدام Baseline Profiles فقط.
لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على ملفات بدء التشغيل.
المتطلبات
ننصحك باستخدام "ملفات بدء التشغيل" مع الأدوات التالية:
- Jetpack Macrobenchmark 1.2.0 أو إصدار أحدث
- الإصدار 8.2 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو إصدار أحدث
- الإصدار Iguana أو إصدار أحدث من "استوديو Android"
بالإضافة إلى ذلك، يجب أن تتوفّر الإعدادات التالية في تطبيقك:
- تم تفعيل R8. بالنسبة إلى إصدارك، اضبط قيمة
isMinifyEnabled = true. - تم تفعيل تحسينات تنسيق DEX. في حزمة
baselineProfile {}ضمن ملف الإصدار الخاص بوحدة التطبيق، اضبطdexLayoutOptimization = true.
إنشاء ملف شخصي خاص بالشركات الناشئة
ينشئ "استوديو Android" ملف إعداد عند بدء التشغيل إلى جانب ملف مرجعي عند استخدام نموذج "أداة إنشاء الملف المرجعي" التلقائي.
إنّ الخطوات العامة لإنشاء ملف Startup Profile هي نفسها الخطوات المتّبعة لإنشاء ملف Baseline Profile.
الطريقة التلقائية لإنشاء "ملف إعداد بدء التشغيل" هي استخدام نموذج وحدة Baseline Profile
Generator من داخل "استوديو Android". ويشمل ذلك التفاعلات عند بدء التشغيل التي تشكّل ملفًا أساسيًا عند بدء التشغيل. لتعزيز ملف تعريف المؤسسة الناشئة هذا بالمزيد من رحلات المستخدمين المهمة (CUJ)، أضِف رحلات المستخدمين المهمة لبدء تشغيل تطبيقك إلى حظر rule مع ضبط includeInStartupProfile على true. بالنسبة إلى التطبيقات البسيطة، قد يكون تشغيل MainActivity للتطبيق كافيًا. بالنسبة إلى التطبيقات الأكثر تعقيدًا، ننصحك بإضافة نقاط الدخول الأكثر شيوعًا إلى تطبيقك، مثل بدء تشغيل التطبيق من الشاشة الرئيسية أو الانتقال إلى رابط لصفحة معيّنة.
يوضّح مقتطف الرمز التالي أداة إنشاء "الملف الأساسي" (ملف BaselineProfileGenerator.kt تلقائيًا) الذي يتضمّن بدء تشغيل تطبيقك من الشاشة الرئيسية وفتح رابط لصفحة معيّنة. ينقل الرابط المؤدي إلى صفحة في التطبيق المستخدم مباشرةً إلى خلاصة الأخبار في التطبيق، وليس إلى الشاشة الرئيسية للتطبيق.
@RunWith(AndroidJUnit4::class)
@LargeTest
class BaselineProfileGenerator {
@get:Rule
val rule = BaselineProfileRule()
@Test
fun generate() {
rule.collect(
packageName = "com.example.app",
includeInStartupProfile = true
) {
uiAutomator {
// Launch directly into the NEWS_FEED using startActivityIntent
startIntent(Intent().apply {
setPackage(packageName)
setAction("com.example.app.NEWS_FEED")
})
}
}
}
نفِّذ عملية إنشاء ملف تعريف أساسي للتطبيق وابحث عن قواعد ملف تعريف بدء التشغيل في src/<variant>/generated/baselineProfiles/startup-prof.txt، حيث يستهلكها AGP تلقائيًا.
اعتبارات عند إنشاء ملفات شخصية للشركات الناشئة
إذا لم يكن ذلك ممكنًا، سيتجاوز رمز بدء التشغيل ملفات DEX التالية، والتي يتم ملؤها بعد ذلك بفئات وطرق أخرى. لمعرفة ما إذا كان ذلك يحدث، والإجراءات التي يمكنك اتّخاذها لتقليل حجم بدء تشغيل تطبيقك وتسريعه، اطّلِع على تأكيد تحسين ملفات بدء التشغيل.لتحديد رحلات المستخدمين التي يجب تغطيتها عند إنشاء ملف شخصي لشركة ناشئة، يجب مراعاة المكان الذي يبدأ فيه معظم المستخدمين استخدام التطبيق. ويحدث ذلك عادةً من مشغّل التطبيق وبعد تسجيل الدخول. وهذه أيضًا هي أبسط رحلة للملف الأساسي.
بعد تغطية حالة الاستخدام الأولى، اتّبِع مسار الإحالة الناجحة للمستخدم عند بدء تشغيل التطبيق. في كثير من الحالات، تتّبع مسارات إحالة المستخدمين إلى التطبيق القائمة التالية:
- نشاط المشغّل الرئيسي
- الإشعارات التي تؤدي إلى بدء تشغيل التطبيق
- أنشطة المشغّل الاختيارية
يجب العمل على هذه القائمة من الأعلى والتوقّف قبل أن يصبح الملف classes.dex ممتلئًا. لتغطية المزيد من رحلات المستخدمين بعد ذلك، يمكنك نقل الرمز البرمجي خارج مسار بدء التشغيل وإضافة المزيد من رحلات المستخدمين. لنقل الرمز البرمجي خارج مسار بدء التشغيل، افحص بيانات تتبُّع Perfetto أثناء بدء تشغيل التطبيق وابحث عن العمليات التي تستغرق وقتًا طويلاً. يمكنك أيضًا استخدام Macrobenchmark مع تفعيل تتبُّع الطرق للحصول على عرض كامل وقابل للتشغيل الآلي لعمليات استدعاء الطرق أثناء بدء تشغيل التطبيق.
اقتراحات مخصصة لك
- ملاحظة: يتم عرض نص الرابط عندما تكون JavaScript غير مفعّلة.
- إنشاء ملفات تعريف أساسية {:#creating-profile-rules}
- ملفات Baseline {:#baseline-profiles}
- كتابة اختبار أداء مصغّر