تكرار السؤال: …
الإجابة المختصرة
Cold Start يبدأ من الصفر بإنشاء العملية والـ Application؛ Warm يعيد إنشاء الـ Activity فقط؛ و Hot يعيد التطبيق فورًا للمقدمة من الذاكرة. يتم تحسين الإقلاع بتأخير تهيئة المكتبات غير الضرورية.
الشرح
يعتبر Cold Start الأطول والأكثر حساسية لانطباع المستخدم. لتحسينه، يجب تقليل الكود المنفذ داخل Application.onCreate()، واستخدام مكتبة App Startup لتجميع مزودي المحتوى (ContentProviders) في مهيئ واحد، وتجنب استخدام الانعكاس الديناميكي (Reflection) أو القراءة المتزامنة من القرص أثناء فتح التطبيق.
مثال بالكود
// استخدام Jetpack App Startup لتنظيم التهيئة:
class AnalyticsInitializer : Initializer<Analytics> {
override fun create(context: Context): Analytics {
return Analytics.init(context)
}
override fun dependencies(): List<Class<out Initializer<*>>> = emptyList()
}أخطاء شائعة
- تهيئة جميع مكتبات التحليلات والإعلانات والأدوات بالتتابع وبشكل متزامن داخل Application.onCreate().