본문으로 바로가기

Coil - Kotlin Image Load Library

category 개발이야기/Kotlin 2020. 11. 25. 13:35
반응형

Corouitne 기반으로 동작하는 Android용 Image Load library인 Coil에 대한 간략한 소개 입니다.

아래글을 참고 하였습니다.

https://tech.instacart.com/announcing-coil-1-0-5d57b608dc93

 

Announcing Coil 1.0

I’m very excited to announce the release of Coil 1.0. Coil is a Kotlin-first image loading library for Android built on top of Kotlin…

tech.instacart.com

Coil = Corouitne Image Loader


1. Kotlin corouitne을 기반으로 구동됨.
2. internet 또는 기타 data source에서 loading 가능
3. 메모리 캐쉬, disk 캐쉬,이미지 downsampling, 취소처리, 메모리관리등 알아서(자동으로) Handling
4. GIF, SVG, video frame 디코딩 지원


Glide보다 살짝?? 빠르다.
사용자가 점점 늘어나고 있다.

Jetpack Compose와 잘 통합되도록 설계 되었다. (Coil, Compose 모두 Corouitne 기반임)
나중에 Compose 지원 예정

 

Overview

Coil을 네가지 장점을 가집니다.

1. Fast - 메모리/디스크 캐쉬 최적화되어 있다.
2. LightWeight - 약 2000개의 method로 구성된다. picasso와 비슷하고, Glide와 Fresco보다 작다 (메소드 개수가 적게 구성되어 있다는 의미)
3. Easy to use - kotlin을 사용하기 때문에 간단하다
4. Modern - 최근 library들을 사용한다, Corouitne, OkHttp, Okio, AndroidX Lifecycles

 

기본 사용법

library 추가

implementation("io.coil-kt:coil:1.1.0")

 

// URL
imageView.load("https://www.example.com/image.jpg")

// Resource
imageView.load(R.drawable.image)

// File
imageView.load(File("/path/to/image.jpg"))

// And more...

// 추가적인 처리가 필요한 경우 람다로 처리
imageView.load("https://www.example.com/image.jpg") {
    crossfade(true)
    placeholder(R.drawable.image)
    transformations(CircleCropTransformation())
}
반응형