للحصول على أفضل تجربة للمستخدم، عليك تحسين تطبيقك ليصبح صغيرًا وسريعًا قدر الإمكان. يعمل مُحسِّن التطبيقات الذي يُعرف باسم R8 على تبسيط تطبيقك من خلال إزالة الرموز البرمجية والموارد غير المستخدَمة وإعادة كتابة الرموز البرمجية لتحسين أداء وقت التشغيل وغيرها. بالنسبة إلى المستخدمين، يعني ذلك ما يلي:
- بدء تشغيل أسرع
- خفض وقت الاستجابة
- عدد أقل من أخطاء ANR
لتفعيل ميزة تحسين التطبيق، اضبط isMinifyEnabled = true
(لتحسين الرمز البرمجي)
وisShrinkResources = true
(لتحسين الموارد) في نص إنشاء الإصدار على مستوى التطبيق كما هو موضّح في الرمز البرمجي التالي. ننصحك
بتفعيل كلا الإعدادَين دائمًا. ننصحك أيضًا بتفعيل ميزة تحسين التطبيقات في الإصدار النهائي من تطبيقك الذي تختبره قبل النشر، والذي يكون عادةً إصدار الإصدار، لأنّ ميزات التحسين تزيد من وقت إنشاء مشروعك ويمكن أن تصعِّب تصحيح الأخطاء بسبب الطريقة التي تعدّل بها الرمز البرمجي.
Kotlin
android { buildTypes { release { // Enables code-related app optimization. isMinifyEnabled = true // Enables resource shrinking. isShrinkResources = true proguardFiles( // Default file with automatically generated optimization rules. getDefaultProguardFile("proguard-android-optimize.txt"), ... ) ... } } ... }
رائع
android { buildTypes { release { // Enables code-related app optimization. minifyEnabled true // Enables resource shrinking. shrinkResources true // Default file with automatically generated optimization rules. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') ... } } }
يُرجى العِلم أنّ تفعيل ميزة تحسين التطبيق يجعل من الصعب فهم عمليات تتبُّع تسلسل استدعاء الدوال البرمجية، خاصةً إذا أعاد R8 تسمية أسماء الفئات أو الطرق. للحصول على تتبعات تسلسل استدعاء الدوال البرمجية التي تتوافق بشكلٍ صحيح مع رمز المصدر، اطّلِع على استرداد تتبع تسلسل استدعاء الدوال البرمجية الأصلي.
في حال تفعيل R8، عليك أيضًا إنشاء ملفات تعريف بدء التشغيل لتحسين أداء بدء التشغيل.
إذا فعّلت ميزة تحسين التطبيقات وتسبّبت في حدوث أخطاء، إليك بعض الاستراتيجيات لمعالجتها:
- إضافة قواعد الاحتفاظ للحفاظ على بعض الرموز البرمجية بدون تغيير
- اعتماد التحسينات بشكل تدريجي
- عدِّل الرمز البرمجي لكي تتمكّن من استخدام مكتبات مناسبة بشكل أفضل للتحسين.