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

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

الشكل 1. تحسين موضع الرمز البرمجي من خلال تحسين تنسيق DEX

المتطلبات

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

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

بالإضافة إلى ذلك، تحتاج إلى الإعدادات التالية في تطبيقك:

  • تم تفعيل R8. بالنسبة إلى إصدارك، اضبط قيمة isMinifyEnabled = true.
  • تم تفعيل تحسينات تنسيق DEX. في الحزمة baselineProfile {} ضمن ملف إنشاء وحدة التطبيق، اضبط dexLayoutOptimization = true.

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

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

إنّ الخطوات العامة لإنشاء ملف إعداد وبدء تشغيل هي نفسها الخطوات المتّبعة لإنشاء ملف أساسي.

الطريقة التلقائية لإنشاء ملف بدء التشغيل هي استخدام نموذج وحدة Baseline Profile Generator من داخل "استوديو Android". ويشمل ذلك التفاعلات عند بدء التشغيل التي تشكّل ملفًا أساسيًا لتجربة بدء التشغيل. لتعزيز ملف تعريف التطبيق الناشئ هذا باستخدام المزيد من رحلات المستخدمين المهمة (CUJ)، أضِف رحلات المستخدمين المهمة عند بدء تشغيل تطبيقك إلى حظر rule مع ضبط includeInStartupProfile على true. بالنسبة إلى التطبيقات البسيطة، قد يكون تشغيل MainActivity للتطبيق كافيًا. بالنسبة إلى التطبيقات الأكثر تعقيدًا، ننصحك بإضافة نقاط الدخول الأكثر شيوعًا إلى تطبيقك، مثل بدء تشغيل التطبيق من الشاشة الرئيسية أو الانتقال إلى رابط لصفحة معيّنة.

تعرض مقتطفات الرموز البرمجية التالية أداة إنشاء ملفات Baseline Profile (الملف BaselineProfileGenerator.kt تلقائيًا) التي تتضمّن بدء تشغيل تطبيقك من الشاشة الرئيسية وفتح رابط لصفحة في التطبيق. ينقل الرابط المؤدي إلى صفحة في التطبيق المستخدم مباشرةً إلى خلاصة الأخبار في التطبيق، وليس إلى الشاشة الرئيسية للتطبيق.

@RunWith(AndroidJUnit4::class)
@LargeTest
class BaselineProfileGenerator {

    @get:Rule
    val rule = BaselineProfileRule()

    @Test
    fun generate() {
        rule.collect(
            packageName = "com.example.app",
            includeInStartupProfile = true
        ) {
            // Launch directly into the NEWS_FEED.
            startActivityAndWait(Intent().apply {
                setPackage(packageName)
                setAction("com.example.app.NEWS_FEED")
            })
        }
    }
}

نفِّذ عملية الإعداد إنشاء ملف تعريف أساسي للتطبيق وابحث عن قواعد ملف تعريف بدء التشغيل في src/<variant>/generated/baselineProfiles/startup-prof.txt.

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

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

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

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

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