Coil

jericho·2024년 1월 31일

Android

목록 보기
10/15

Coil (Coroutine Image Loader)

https://github.com/coil-kt/coil
https://coil-kt.github.io/coil/

코루틴 기반 Android 백앤드 이미지 로딩 라이브러리.

  • 빠르다: Coil은 메모리와 디스크의 캐싱, 메모리의 이미지 다운 샘플링, Bitmap 재사용, 일시정지/취소의 자동화 등등 수 많은 최적화 작업을 수행합니다.
  • 가볍다: Coil은 최대 2000개의 method들을 APK에 추가합니다(이미 OkHttp와 Coroutines을 사용중인 앱에 한하여), 이는 Picasso 비슷한 수준이며 Glide와 Fresco보다는 적습니다.
  • 사용하기 쉽다: Coil API는 심플함과 최소한의 boilerplate를 위하여 Kotlin의 기능을 활용합니다.
  • 현대적이다: Coil은 Kotlin 우선이며 Coroutines, OkHttp, Okio, AndroidX Lifecycles등의 최신 라이브러리를 사용합니다.

gradle

// Coil is available on mavenCentral()
implementation("io.coil-kt:coil:2.5.0")

사용법

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

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

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

// And more...

Requests는 trailing lambda 식을 이용하여 추가 설정을 할 수 있다:

// CircleCropTransformation 예시
imageView.load("https://example.com/image.jpg") {
    crossfade(true)
    placeholder(R.drawable.image)
    transformations(CircleCropTransformation())
}

Jetpack Compose, R8 / Proguard 등등... 자세한건 공식문서 참고.

0개의 댓글