وظیفه یک برنامه نویس اندروید علاوه بر پیاده سازی کدها و کتابخانه ها و عملکرد خوب اپلیکیشن و زیبایی ظاهری آن ، کاهش حجم فایل Android Package است که عامل تعیین کننده ای برای دانلود کاربر خواهد بود.
حجم فایل APK بعد از کامپایل اگرتنها دغدغه های توسعه دهندگان نباشد اما قطعا یکی از پراهمیت ترین هاست.مخصوصا کاربران ایرانی که با محدودیت های سرعت و میزان ترافیک اینترنت مواجه هستند.
چند روش توصیه شده برای کم کردن حجم فایل APK
1.بهینه سازی هوشمند کد های بی استفاده
با استفاده از لایبرری که به شما معرفی خواهد شد قادر خواهید بود به صورت هوشمند کد هایی بی استفاده موجود درون اپلیکیشن رو بهینه کنید که این روی حجم نهایی فایل APK شما تاثیر گذار خواهد بود.
برای اطلاعات بیشتر شمارو به این مقاله گوگل ارجاع میدهیم : https://developers.google.com/android/guides/setup
برای بهینه سازی کد ها : لایبرری زیر در Build.gradle
compile 'com.google.android.gms:play-services:9.0.2'
رو با لایبرری های زیر جایگزین کنید :
compile 'com.google.android.gms:play-services-fitness:9.0.2'
compile 'com.google.android.gms:play-services-wearable:9.0.2'
2.عملیات Logging ( تولید فایل Log ) را غیر فعال کنید
زمانی که عملیات توسعه و اعمال تغییرات مهم شما به پایان رسیده و نیاز ندارید رفتار برنامه را دقیق بسنجید عملیات لاگینگ که کلیه عملکرد اپلیکیشن را در یک فایل لاگ ذخیره میکند تنها باعث افزایش حجم اپلیکیشن شما خواهد شد و کاربرد دیگری ندارد.
برای غیر فعال سازی Log در فایل Proguard-android.txt
کد زیر را وارد کنید
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
3.آپلود کردن اپلیکیشن بصورت App Bundle
کی از دلایلی که باعث افزایش حجم برنامه های اندرویدی و فایل apk نهایی می شود پشتیبانی از پردازنده های مختلف, صفحه نمایش های مختلف و دیگر مسایل بهینه سازی برای سازگاری با دستگاه های مختلف می باشد.
اما با روش جدید خروجی گرفتن از پروژه خود و دریافت فایل aab به جای apk میتونید حجم برنامه خودتون و تا ۳۵% کاهش بدید.
فایل aab فقط مخصوص استفاده در گوگل پلی می باشد و افراد هنگام مراجعه به صفحه اپلیکیشن شما فقط تنظیمات مخصوص به گوشی خودشون و دریافت می کنند باعث کاهش حجم فایل دانلودی می شود.
4.استفاده از پلاگین Android size analyzer برای کاهش حجم فایل APK
استفاده از پلاگین Android Size Analyzer این امکان را به شما میدهد که نقاطی از سورس که حجم زیادی دارند را شناسایی کنید و حتی پیشنهادی برای کم حجم کردن سایز آن قسمت دریافت کنید.برای نصب پلاگین Android Size Analyzer به مسیر زیر بروید:
File / Setting / plugins
در تب Marketplace عبارت Android Size Analyzer را جستجو کنید
سپس پلاگین رو نصب و اندروید استودیو رو ری استارت کنید.
برای اجرای پلاگین هم به مسیر زیر بروید
Analyze / Analyze App Size
همچنین میتونید پلاگین Android Size Analyzer رو بصورت کامند هم ران کنید بدین صورت که نسخه آخر پلاگین رو از گیت هاب مربوطه ش دانلود کنید ، بصورت TAR یا ZIP پس از استخراج پلاگین رو در مک یا لینوکس و یاحتی .bat در ویندوز با دستورات زیر اجرا کنید
./size-analyzer check-bundle
./size-analyzer check-project
خواهید دید پلاگین Android Size Analyzer پرحجم ترین فایل ها به علاوه یک پیشنهاد به شما ارائه میدهد.
5.استفاده از فرمت های پیشنهاد شده و استاندارد
استفاده از فرمت های پیشنهاد شده و استاندارد که از سوی گوگل توصیه می شوند می توانند تاثیر زیادی بر کاهش حجم نهایی فایل apk که اپلیکیشن اندروید شماست داشته باشند .
درصد نسبتا قابل توجه ای از حجم اپلیکیشن مربوط به عناصر گرافیکیست که در صورت توجه و بهینه کردن این عناصر اپلیکیشن نهایی شما حجم کمتری خواهد داشت که میتونه یک امتیاز مثبت برای اپلیکیشن شما محسوب بشه و در فراگیر شدن اپلیکیشن شما تاثیر زیادی داشته باشه.
همیشه SVG
را مورد توجه قرار بدید زیرا بهترین فرمت مورد استفاده برای درنظر گرفتن آیکن اپلیکیشن شماست . برای عناصر گرافیکی مورد استفاده در طراحی لی اوت ها فرمت PNG
به دلیل دارا بودن فرمت ترنسپرنت ( بدون زمینه ) انتخاب مناسبی هست .
فرمت JPEG
برای تصاویری که نیازی به ترنسپرنت بودن پس زمینه برای آنها احساس نمی شه مثل بنر ها ، پس زمینه لی اوت ها ، دکمه های مستطیل خاص و.. یکی از فرمت های است که با توجه به میزان Compression بالایی که داره حجم کمتری نسب به فرمت PNG داره.
برنامه های بسیار زیادی منتشر شدند که میتونید با استفاده از این برنامه ها فایل های تصویری خودتون رو تا حد قابل قبولی بدون افت چشمگیر کیفیت فشرده کنید. همواره استفاده از فتوشاپ برای انجام این موارد با بهره گیری از اپشن Save for Web که در این برنامه تعبیه شده توصیه می شود.
6.تمامی منابع بی استفاده را حذف کنید
حذف موارد و منابع بی استفاده در کد مانند متدها ، کلاس ها، attribute ها و … می تواند به کاهش سایز فایل APK شما کمک کند. برای این منظور ابزار های مختلفی وجود دارد؛ برای مثال می توانید از R8 Code Shrinker استفاده کنید.
امروزه درخواست ها برای اپلیکیشن های اندروید بسیار زیاد شده است و به همین خاطر، کم بودن سایز APK با توجه به تاثیر نگذاشتن بر روی بهره وری اپلیکیشن، یک چالش بسیار بزرگ برای توسعه دهندگان شده است.