إنشاء ملفات شخصية للشركات الناشئة

التعرّف على المتطلبات وعملية الإنشاء وأفضل الممارسات keywords_public: ملفات بدء التشغيل، وملفات Baseline، وأداء التطبيق، وتحسين حِزم APK، وتصميم DEX، و"استوديو Android"، وJetpack Macrobenchmark

"ملفات تعريف بدء التشغيل" هي مجموعة فرعية من "ملفات المرجع". يستخدم نظام الإصدار "ملفات تعريف بدء التشغيل" لتحسين الفئات والطرق التي تحتوي عليها من خلال تحسين تصميم الرمز البرمجي في ملفات DEX الخاصة بحزمة APK. باستخدام "ملفات تعريف بدء التشغيل"، تكون سرعة بدء تشغيل تطبيقك عادةً أعلى بنسبة تتراوح بين% 15 و% 30 مقارنةً باستخدام "ملفات المرجع" وحدها.

لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على ملفات بدء التشغيل.

المتطلبات

ننصحك باستخدام "ملفات بدء التشغيل" مع الأدوات التالية:

  • ‫Jetpack Macrobenchmark 1.2.0 أو إصدار أحدث
  • الإصدار 8.2 من المكوّن الإضافي لنظام Gradle المتوافق مع Android أو إصدار أحدث
  • الإصدار Iguana أو إصدار أحدث من "استوديو Android"

بالإضافة إلى ذلك، يجب أن تتوفّر الإعدادات التالية في تطبيقك:

  • تم تفعيل R8. بالنسبة إلى إصدارك، اضبط isMinifyEnabled = true.
  • تم تفعيل تحسينات تنسيق DEX. تتوفّر هذه الميزة بدءًا من الإصدار 8.1 من "مكوّن Android الإضافي في Gradle" فقط، ويتم تفعيلها تلقائيًا منذ الإصدار 8.3 من "مكوّن Android الإضافي في Gradle". بالنسبة إلى الإصدارات 8.1 إلى 8.2 من "المكوّن الإضافي لنظام Gradle المتوافق مع Android"، في حظر baselineProfile {} من ملف تصميم وحدة التطبيق، اضبط dexLayoutOptimization = true.

إنشاء ملف شخصي خاص بالشركات الناشئة

ينشئ "استوديو Android" ملف إعداد عند بدء التشغيل إلى جانب ملف Baseline Profile عند استخدام نموذج Baseline Profile Generator التلقائي.

إنّ الخطوات العامة لإنشاء ملف 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 تلقائيًا.

اعتبارات عند إنشاء ملفات شخصية للشركات الناشئة

لتحديد رحلات المستخدمين التي يجب تغطيتها عند إنشاء ملف شخصي لشركة ناشئة، يجب مراعاة المكان الذي يبدأ فيه معظم المستخدمين استخدام التطبيق. ويحدث ذلك عادةً من مشغّل التطبيقات وبعد تسجيل الدخول. وهذه أيضًا أبسط رحلة أساسية للملف الشخصي.

بعد تغطية حالة الاستخدام الأولى، اتّبِع مسار الإحالة الناجحة للمستخدم عند بدء تشغيل التطبيق. في كثير من الحالات، تتّبع مسارات إحالة بدء تشغيل التطبيق القائمة التالية:

  1. نشاط المشغّل الرئيسي
  2. الإشعارات التي تؤدي إلى بدء تشغيل التطبيق
  3. أنشطة المشغّل الاختيارية

يجب العمل على هذه القائمة من الأعلى والتوقف قبل أن يمتلئ classes.dex. لتغطية المزيد من رحلات المستخدمين بعد ذلك، يمكنك نقل الرمز البرمجي خارج مسار بدء التشغيل وإضافة المزيد من رحلات المستخدمين. لنقل الرمز البرمجي خارج مسار بدء التشغيل، افحص بيانات تتبُّع Perfetto أثناء بدء تشغيل التطبيق وابحث عن العمليات التي تستغرق وقتًا طويلاً. يمكنك أيضًا استخدام Macrobenchmark مع تفعيل تتبُّع الدوال البرمجية للحصول على عرض كامل وقابل للأتمتة لعمليات استدعاء الدوال البرمجية أثناء بدء تشغيل التطبيق.