Mobile App

[안드로이드] - 이미지 로더 Coil 라이브러리 (etc. Glide, Picasso)

후추부 2023. 1. 13. 09:59

우리는 안드로이드 개발을 하다보면 이미지 로딩을 하기 위한 라이브러리를 종종 사용한 적이 있을 것이다.

만약 라이브러리 없이 이미지를 로드하려고 했다면, 고려해야하는 요소가 많아진다.

따라서 이 부분을 thrid party 라이브러리를 사용했던 것이다.

 

쓴이는 Glide 를 가장 많이 사용한 라이브러리라 사용했었고, 이번 프로젝트에서 코루틴을 적용하면서 Coil 라이브러리를 사용하게 됐다. Coil 이 쉽게 적용할 수 있어서 차이가 궁금해졌다.

 

그래서 이번에 여러 Image loader 라이브러리 종류가 무엇이 있고? 각 라이브러리 차이를 조금이라도 알고자 여러 블로그에서 찾아본 내용을 정리를 해보겠다.

 

Image loader 라이브러리 종류

  • Glide
  • Picasso
  • Coil
  • AUIL (Android-Universal-Image-Loader)
  • 등등...

 

각 라이브러리 대해서

  MinSdkVersion ComplieSdkVersion Libarary Size GIF 지원
Picasso 14 29 121 KB 불가
GIlde 14 26 440 KB 가능
Coil 14 30 위 두 개 보다 상대적으로 가볍다 가능

 

Gilde VS Picasso

https://gun0912.tistory.com/19

 

[안드로이드/Android]Picasso와 Glide 비교분석

이전에 포스트 내용으로 이미지로딩 라이브러리와 Glide에 관하여 소개해드렸었습니다.이미지로딩 라이브러리 및 Glide소개 보기 이번에는 요즘 제일 많이 쓰이고 있고 레퍼런스가 많은 Picasso와 G

gun0912.tistory.com

 

https://calvinjmkim.tistory.com/11

 

안드로이드 앱에서 Picasso와 Glide를 사용해 이미지 표시하기

안드로이드앱을 만들면서 가장 많이 마주치는 경우가 아마도 이미지를 표시하는 경우일 것이다. BMP, JPG, GIF등 다양한 포맷의 이미지를 표시하는 것은 시각적인 부분이 중요한 안드로이드 앱 개

calvinjmkim.tistory.com

 

> 위 두 블로그를 보면 가볍게 정리가 될 것이다.

Glide VS Coil

https://techblog.lotteon.com/glide-vs-coil-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%82%AC%EC%9A%A9%EB%9F%89-%EB%B9%84%EA%B5%90-cb93cffb9fc0

 

Glide vs. Coil 메모리 사용량 비교

우리 APP에서 OOM을 피하기 위한 비교적 안전한 라이브러리는 무엇일까?

techblog.lotteon.com

https://proandroiddev.com/coil-vs-picasso-vs-glide-get-ready-go-774add8cfd40

 

Coil vs Picasso vs Glide: Get Ready… Go!

Coil is the new library everyone talks about. But what is its performance compared to Glide and Picasso? The race is about to start.

proandroiddev.com

 

Coil 장점

- 빠르다 : Coil 은 메모리와 디스크의 캐싱, 메모리의 이미지 다운 샘플링, Bitmap 재사용, 일시정지/취소의 자동화 등등 수 많은 최적화 작업을 수행한다.

- 가볍다 : Coil 은 최대 2000개의 메서드들을 APK 에 추가한다. (OkHttp, Coroutine 을 사용 중인 앱에 한하여)

- 사용하기 쉽다 : Coil API 는 심플하고 최소한의 보일러플레이트를 위하여 Kotlin 의 기능을 사용한다.

- 현대적이다 : Kotlin 우선이며 Coroutine, OkHttp, Okio, Androidx Lifecycles 등의 최신 라이브러리를 사용한다.

 

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

 

Getting Started - Coil

Getting Started Artifacts Coil has 8 artifacts published to mavenCentral(): io.coil-kt:coil: The default artifact which depends on io.coil-kt:coil-base, creates a singleton ImageLoader, and includes the ImageView extension functions. io.coil-kt:coil-base:

coil-kt.github.io

 

정리

Coil 은 현재 계속 사용자가 늘어나는 추세이며 코루틴 기반이고, 여러 장점이 있지만 효율적인 측면에선 Glide 가 좋다고 성능 평가 블로그가 많다.

 

개인적으로는 Glide > Coil > Picasso 라 생각이든다. 하지만 '무조건 Piccaso 가 Coil 보다 못하다, 무조건 Glide 가 Coil 보다 좋다' 아니다. 그냥 상황에 맞게 각 라이브러리 장점 위주로 사용하면 좋을 것 같다.