Skip to content

COIL : Image Loader, 조금 더 가볍고 빠르며 상대적으로 문법이 간결한 라이브러리

jooyae edited this page Jan 13, 2022 · 1 revision

COIL : Image Loader, 조금 더 가볍고 빠르며 상대적으로 문법이 간결한 라이브러리

안드로이드에서 가장 많이 쓰이는 Glide, Picasso와 같은 이미지 라이브러리중 COIL은 COroutine Image Loader의 앞글자를 따서 지어진 이름입니다. 해당 프로젝트에서는 코일을 사용하여 외부 API에서 이미지를 로딩합니다.

장점

  1. Fast : 메모리, 디스크 캐싱, 이미지 다운 샘플링, 비트맵 재사용을 수행하며 여러 단계의 최적화를 수행합니다.
  2. Lightweight : 코일은 2000개 가량의 method를 해당 어플리케이션 apk에 추가하는데 이는 Glide나 Frecso보다 훨씬 적고 Picasso와 비슷한 수준입니다.
  3. Easy to use
  4. modern : 코일은 코틀린 기반으로 만들어졌으며 Coroutinem OkHttp, Okio, AndroidX Lifecycle등 다양한 modern library를 사용합니다.
  5. Bitmap Pooling 지원
  6. Image Sampling : 유저가 이미지 로딩이 끝날 때까지 아무것도 못하는 게 아니라, 저화질의 이미지를 먼저 로딩해서(placeholder) 보여주고 = crossfade(true) 옵션, progressive JPEG처럼 초반에는 저화질 이미지로 보이지만 로딩이 끝나면 고화질 이미지로 자연스럽게 변합니다.

편집 기능

  • CircleCropTransformation — 이미지를 원형으로 자릅니다.
  • RoundedCornersTransformation — 이미지의 가장자리를 둥글게 처리합니다.
  • BlurTransformation — blur효과를 씌웁니다.
  • GrayscaleTransformation — 이미지에 greyscale효과를 씌웁니다.

Data Type

  • String
  • HttpUrl
  • Uri
  • File
  • @DrawableRes Int
  • Drawable
  • Bitmap