لتقديم أفضل تجربة للمستخدم، عليك تحسين تطبيقك ليكون صغير الحجم وسريعًا قدر الإمكان. تعمل أداة تحسين التطبيقات التي نقدّمها، والمعروفة باسم R8، على تبسيط تطبيقك من خلال إزالة الرموز والموارد غير المستخدَمة وإعادة كتابة الرموز لتحسين أداء وقت التشغيل وغير ذلك. بالنسبة إلى المستخدمين، يعني ذلك ما يلي:
- بدء تشغيل أسرع
- تحسين أداء العرض ووقت التشغيل
- عدد أقل من أخطاء ANR
لتفعيل تحسين التطبيق، اضبط isMinifyEnabled = true
(لتحسين الرمز البرمجي) وisShrinkResources = true
(لتحسين الموارد) في نص برمجة الإصدار على مستوى التطبيق release
build's كما هو موضّح في الرمز التالي. ننصحك بتفعيل كلا الإعدادَين دائمًا. ننصحك أيضًا بتفعيل تحسين التطبيق فقط في الإصدار النهائي من تطبيقك الذي تختبره قبل النشر، والذي يكون عادةً إصدارًا تجريبيًا، لأنّ عمليات التحسين تزيد من وقت إنشاء مشروعك ويمكن أن تصعّب عملية تصحيح الأخطاء بسبب الطريقة التي تعدّل بها الرمز البرمجي.
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"), ... ) ... } } ... }
Groovy
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') ... } } }
تحسين تصغير الموارد لإنشاء تطبيقات أصغر حجمًا
يتضمّن الإصدار 8.12.0 من المكوّن الإضافي لنظام Gradle المتوافق مع Android (AGP) ميزة تقليل حجم الموارد المحسَّنة، والتي تهدف إلى دمج تحسين الموارد والرموز البرمجية لإنشاء تطبيقات أصغر حجمًا وأسرع.
تفعيل ميزة تقليل حجم الموارد المحسّنة
لتفعيل مسار تقليص الموارد المحسّن الجديد في إصدار من "مكوّن Android الإضافي" قبل الإصدار 9.0.0، أضِف ما يلي إلى ملف gradle.properties
في مشروعك:
android.r8.optimizedResourceShrinking=true
إذا كنت تستخدم الإصدار 9.0.0 من AGP أو إصدارًا أحدث، لن تحتاج إلى ضبط
android.r8.optimizedResourceShrinking=true
. يتم تطبيق تقليص الموارد المحسَّن تلقائيًا عند تفعيل isShrinkResources = true
في إعدادات الإصدار.
التحقّق من إعدادات التحسين R8 وضبطها
لتمكين R8 من استخدام إمكانات التحسين الكاملة، عليك إزالة السطر التالي من ملف gradle.properties
الخاص بمشروعك، إذا كان متوفّرًا:
android.enableR8.fullMode=false # Remove this line from your codebase.
يُرجى العِلم أنّ تفعيل تحسين التطبيق يجعل من الصعب فهم تتبُّع تسلسل استدعاء الدوال البرمجية، خاصةً إذا أعاد R8 تسمية أسماء الفئات أو الطرق. للحصول على تتبُّع تسلسل استدعاء الدوال البرمجية يتوافق بشكل صحيح مع رمز المصدر، اطّلِع على استرداد تتبُّع تسلسل استدعاء الدوال البرمجية الأصلي.
في حال تفعيل R8، عليك أيضًا إنشاء ملفات شخصية لبدء التشغيل للحصول على أداء أفضل عند بدء التشغيل.
إذا فعّلت ميزة تحسين التطبيقات وتسبّبت في حدوث أخطاء، إليك بعض الاستراتيجيات لحلّها:
- أضِف قواعد الاحتفاظ للحفاظ على بعض الرموز بدون تغيير.
- تطبيق التحسينات بشكل تدريجي:
- عدِّل الرمز البرمجي لاستخدام مكتبات أكثر ملاءمة للتحسين.