5

Uncoiling the Coil: Understanding modern image loading on Android with Sagar Vir...

 2 years ago
source link: https://www.youtube.com/watch?v=yNH3ALGwI98
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Uncoiling the Coil: Understanding modern image loading on Android with Sagar Viradiya

106 views
Jun 24, 2021

295 subscribers

Image loading is hard but luckily this problem has already been addressed on Android. There are many libraries out there that handle image loading seamlessly. COIL is the new kid to the club and you may be wondering why do we need another image loading library? COIL is Kotlin first library backed by Kotlin Coroutines. It gives you an easy and concise API to deal with image loading. Oh and also it takes less space! In a nutshell, it's an easy-to-use, fast, lightweight, and modern library.

This talk will address - Why you should consider this library for image loading? - Understanding its API. - How it works? by covering its entire image loading pipeline. By the end, you'll walk away with the advantages of using COIL and its image loading pipeline.

=========== Useful links ===========

Meetup: https://www.meetup.com/Kotlin-Mumbai/...

Presentation: https://docs.google.com/presentation/...

Additional resources: - https://coil-kt.github.io/coil/ - http://androidbackstage.blogspot.com/... - https://proandroiddev.com/coil-vs-pic...

============== Connect with us ==============

Website: https://kotlinmumbai.org/ Twitter: https://twitter.com/KotlinMumbai Youtube: https://www.youtube.com/kotlinmumbai

=========== Timestamps ===========

0:00:00 About Kotlin Mumbai 0:02:25 About the speaker 0:04:00 Uncoiling the Coil 0:06:41 What is COIL? 0:08:13 Why COIL? 0:10:28 Show me code! 0:13:16 Kotlin syntactic sugar 0:14:44 Imperative style 0:15:26 The pipeline 0:19:14 ImageRequest (The pipeline) 0:20:00 ImageLoader (The pipeline) 0:21:31 Interceptors (The pipeline) 0:24:57 Mapper (The pipeline) 0:27:00 Fetcher (The pipeline) 0:30:12 Decoder (The pipeline) 0:31:26 Transformation (The pipeline) 0:32:48 ImageResult (The pipeline) 0:33:14 Thread 0:34:22 In memory caching 0:36:51 Strong Memory Cache 0:39:02 Weak Memory Cache 0:40:22 Summary 0:40:56 Some resources (links in description) 0:42:29 Upcoming CodeAid Conference 0:44:00 Questions 0:44:40 Why prefer Coil over Picasso, Glide? 0:46:00 If you are using RxJava extensively, what is your opinion of using COIL in a Rxified way? 0:47:21 Does Coil has built-in Compose support? or planning to? (I am aware of Accompanist) 0:47:56 I read "Coil performs a number of optimizations including memory and disk caching, downsampling, re-using bitmaps, etc". Glide also does that, right? Why is it fast? 0:49:21 Does Coil has any plan to support KMP? 0:49:41 Any drawback of using Coil? 0:50:22 How is the performance of Coil wrt bitmap caching etc? 0:51:20 Is it possible to write custom Transformers? 0:52:00 When we use Picasso or glide we need to check if the URL string is not null/empty/ correct etc, does coil take care of this validation itself? 0:52:48 If an image is of high resolution and I only want to load the image according to the width/ height of ImageView, how can I transform that image before it's shown? 0:53:25 How to load images in RecyclerView (i.e list) by keeping performance in mind? Like image dimension, time, etc. 0:54:42 Does Coil has built-in support for SVG? How Coil has handling image when API can return jpg, png, and SVG file also. It is automatically identified SVG and loading 0:55:32 If I want to load quite a lot of images, how do you think one should go about using predictive fetching to load those with Coil 0:56:02 Is BookMyShow using Coil? 0:57:26 Does coil support AVIF image format support that was announced in Android 12? 0:57:50 Does COIL support animated GIFs or APNGs? 0:58:18 Does COIL support Native NDK Image decoder which is available from Android 11 and is now fully supported in Android 12? 0:58:59 Can COIL be used with Jetbrains Compose on the desktop? Can it be used in headless mode? 0:59:20 Does Coil have both disk and in-memory cache? 1:00:05 Can GCP Kubernetes Pod instances be enabled with Kotlin's lambda function in a browser app where COIL parameters have to be populated for AI/ML image types? 1:01:18 I have designed an android view in IntelliJ IDEA IDE with a basic Kotlin Gradle onCreateView() function. How fetcher interface can allocate GCP CLI in a region? 1:02:00 Will the slides be available later to refer back? (see description) 1:02:08 Can Coil upsample images for me? If yes, does it use something like nearest-neighbor interpolation or something else? 1:02:46 Is Coil a pure JVM library or only an Android library? 1:03:44 Concluding the session


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK