برای بهترین تجربه کاربری، باید برنامه خود را بهینه سازی کنید تا آن را تا حد امکان کوچک و سریع کنید. بهینهساز برنامه ما که 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') ... } } }
توجه داشته باشید که فعال کردن بهینهسازی برنامه، درک ردیابی پشته را دشوار میکند، به خصوص اگر R8 نام کلاسها یا روشها را تغییر نام دهد. برای دریافت ردیابی پشته که به درستی با کد منبع شما مطابقت دارد، به بازیابی ردیابی پشته اصلی مراجعه کنید.
اگر R8 فعال است، برای عملکرد راهاندازی بهتر نیز باید نمایههای راهاندازی ایجاد کنید .
اگر بهینه سازی برنامه را فعال کرده اید و باعث ایجاد خطا می شود، در اینجا چند استراتژی برای رفع آنها وجود دارد:
- قوانین حفظ را اضافه کنید تا برخی از کدها دست نخورده باقی بمانند.
- بهینه سازی ها را به صورت تدریجی اتخاذ کنید .
- کد خود را برای استفاده از کتابخانه هایی که برای بهینه سازی مناسب تر هستند به روز کنید.