ویرگول
ورودثبت نام
علیرضا نظری
علیرضا نظریAndroid Team Lead at blu Bank
علیرضا نظری
علیرضا نظری
خواندن ۲ دقیقه·۷ سال پیش

لود تصاویر در کاتلین با کتابخانه Coil

کتابخانه Coil اولین لایبرری لود تصاویر در کاتلین است که سریع , سبک و مدرن هست که با استفاده از Coroutine , Okhttp , Okio به لود تصاویر کمک میکنه . Coil مخفف کلمه Coroutine Image Loader هست .

کتابخانه Coil
کتابخانه Coil

همونطور که میدونید لایبرری های زیادی برای لود عکس در اندروید وجود داره مثل گلاید , پیکاسو و Fressco اما Coil یسری برتری هایی نسبت به بقیه داره که جلوتر بررسی میکنیم:

با کاتلین نوشته شده

کاتلین ویژگی های زیادی نسبت به جاوا داره که کمک های زیادی به ما میکنه مثل Extension Function , Lambda و.. که تو این کتابخونه به خوبی ازشون استفاده شده و شما عکس هاتون رو میتونید مستقیما با استفاده از ImageView لود کنید که جلوتر نمونه هاش رو میبینیم .

استفاده از Coroutines

کتابخونه Coil از لایبرری Coroutine استفاده میکنه که تو مباحث تردینگ و async به خوبی عمل میکنه

کم حجم و سبک

کتابخونه Coil نسبت به گلاید 8 برابر کد کمتری داره و همینطور کمتر از پیکاسو و Fressco عه و حدود 1500 متد به فایل APK اضافه میکنه که باز هم کمتر از کتابخونه های دیگست .


همینطور این کتابخونه تو تست نویسی کمک های زیادی میکنه و به دلیل استفاده نکردن از annotation به کم شدن سرعت کامپایل برنامه کمک زیادی میکنه .

نمونه
نمونه

به کمک این لایبرری شما پردازش های مختلفی مثل کم کردن حجم در لود تصاویر که برای نمونه عکس 500*500 رو در دیسک حفظ و 100*100 رو در ایمیج ویو نماش میده . با این حال شما میتونید کیفیت تصاویر رو مشخص کنید و اینکه نمایش تصاویر 100*100 گزینه مناسبی برای نمایش بصورت PlaceHolder هستش .

همینطور نمایش انیمیشن و لودر در زمان بارگزاری تصاویر رو هم ساپورت میکنه .

نمونه کد های استفاده :

https://gist.github.com/colinrtwhite/2b5a1a7dc353c0cf6c5a9ebeba456458#file-coil-kt

بنظرم Coil کتابخونه بسیار خوبیه و میتونه جایگزین Glide و.. بشه در پروژه های کاتلین حتی در مقیاس بزرگ مورد استفاده قرار بگیره .

استفاده از اون بسیار ساده ست و امکانات خیلی خوبی داره . برای مثال با Extension Function و براحتی با صدا زدن ImageView.load() براحتی تصاویر لود میشن که تو خوانایی کد هم کمک زیادی میکنه . همینطور با دادن URL عکس رو دانلود و Drawable رو در اختیارتون قرار میده که تو کاستوم ویو ها و... هم کمک زیادی میتونه بکنه .


امیدوارم که این مقاله مفید بوده باشه و برای اطلاعات بیشتر به صفحه Coil برید و خوشحال میشم نظراتتون رو بدونم و در این باره بحث کنیم .

اندرویدکاتلینبرنامه نویسیتصاویر
۲۶
۴
علیرضا نظری
علیرضا نظری
Android Team Lead at blu Bank
موبایل لَبْ
موبایل لَبْ
به موبایل لَبْ خوش آمدید! هر هفته با آموزش های جدید در حوزه برنامه نویسی موبایل در خدمت شما هستیم.
شاید از این پست‌ها خوشتان بیاید