Coil은 Kotlin Coroutines로 만들어진 Android 백그라운드 이미지 로딩 라이브러리이다. Coil은 Coroutine Image Loader의 약자임!
빠르다
: 메모리와 디스크 캐싱, 메모리의 이미지 다운 샘플링, 비트맵 재사용가벼움
: 코루틴과 OkHttp를 사용하는 앱의 경우 2000개의 메소드를 추가한다. 이는 다른 이미지 라이브러리(Glide, Picasso)보다 훨씬 적다.사용하기 쉽다
: 코일 API는 단순성과 최소한의 상용구를 위해 코틀린을 활용한다.이 외에도 Coil은 코틀린 우선이며 코루틴, OkHttp, AndroidX Lifecycles등 최신의 라이브러리를 사용한다.
dependencies {
implementation("io.coil-kt:coil:2.3.0") // XML
implementation("io.coil-kt:coil-compose:2.3.0") // Compose
}
build.gradle에 Coil 라이브러리를 추가해주자.
이제 Coil을 사용해보자!
Coil을 사용하기전에 코드를 한번 보고가자.
val imageLoader = imageView.context.imageLoader
val request = ImageRequest.Builder(imageView.context)
.data("<https://example.com/image.jpg>")
.target(imageView)
.build()
imageLoader.enqueue(request)
코드를 읽어보면 어떤식으로 흘러가는지 대충 알 수 있는데, 여기서 각 함수와 클래스들의 기능을 알아보자!
더욱 자세한 내용은 **여기**를 봐주세요!
ImageRequest를 실행하여 이미지를 로드하는 서비스 클래스이다.