برای بهترین تجربه کاربری، باید برنامه خود را بهینه سازی کنید تا آن را تا حد امکان کوچک و سریع کنید. بهینهساز برنامه ما که R8 نام دارد، برنامه شما را با حذف کد و منابع استفاده نشده، بازنویسی کد برای بهینهسازی عملکرد زمان اجرا و موارد دیگر سادهسازی میکند. برای کاربران شما، این به این معنی است:
- زمان راه اندازی سریعتر
- بهبود عملکرد رندر و زمان اجرا
- ANR کمتر
برای فعال کردن بهینهسازی برنامه، isMinifyEnabled = true
(برای بهینهسازی کد) و isShrinkResources = true
(برای بهینهسازی منابع) را در اسکریپت ساخت سطح برنامه نسخه انتشار خود تنظیم کنید، همانطور که در کد زیر نشان داده شده است. توصیه می کنیم همیشه هر دو تنظیمات را فعال کنید. همچنین توصیه میکنیم بهینهسازی برنامه را فقط در نسخه نهایی برنامهتان که قبل از انتشار آزمایش میکنید فعال کنید - معمولاً نسخه انتشار شما - زیرا بهینهسازیها زمان ساخت پروژه شما را افزایش میدهند و به دلیل روشی که کد را تغییر میدهد میتواند اشکالزدایی را سختتر کند.
کاتلین
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') ... } } }
بهینه سازی کاهش منابع برای برنامه های حتی کوچکتر
نسخه 8.12.0 پلاگین Android Gradle (AGP) کاهش منابع بهینه شده را معرفی می کند که هدف آن یکپارچه سازی منابع و بهینه سازی کد برای ایجاد برنامه های کوچکتر و سریعتر است.
کوچک شدن منابع بهینه را فعال کنید
برای روشن کردن خط لوله بهینه سازی شده جدید کاهش منابع برای نسخه ای از AGP قبل از 9.0.0، موارد زیر را به فایل gradle.properties
پروژه خود اضافه کنید:
android.r8.optimizedResourceShrinking=true
اگر از AGP 9.0.0 یا نسخه جدیدتر استفاده می کنید، نیازی به تنظیم android.r8.optimizedResourceShrinking=true
ندارید. هنگامی که isShrinkResources = true
در پیکربندی ساخت شما فعال باشد، کوچک شدن منابع بهینه به طور خودکار اعمال می شود.
تنظیمات بهینه سازی R8 را تأیید و پیکربندی کنید
برای فعال کردن R8 برای استفاده از قابلیتهای بهینهسازی کامل، خط زیر را از فایل gradle.properties
پروژه خود حذف کنید، در صورت وجود:
android.enableR8.fullMode=false # Remove this line from your codebase.
توجه داشته باشید که فعال کردن بهینهسازی برنامه، درک ردیابی پشته را دشوار میکند، به خصوص اگر R8 نام کلاسها یا روشها را تغییر نام دهد. برای دریافت ردیابی پشته که به درستی با کد منبع شما مطابقت دارد، به بازیابی ردیابی پشته اصلی مراجعه کنید.
اگر R8 فعال است، برای عملکرد راهاندازی بهتر نیز باید نمایههای راهاندازی ایجاد کنید .
اگر بهینه سازی برنامه را فعال کرده اید و باعث ایجاد خطا می شود، در اینجا چند استراتژی برای رفع آنها وجود دارد:
- قوانین حفظ را اضافه کنید تا برخی از کدها دست نخورده باقی بمانند.
- بهینه سازی ها را به صورت تدریجی اتخاذ کنید .
- کد خود را برای استفاده از کتابخانه هایی که برای بهینه سازی مناسب تر هستند به روز کنید.