본문 바로가기
Mobile App

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

by Jman 2023. 1. 13.

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

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

따라서 이 부분을 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 보다 좋다' 아니다. 그냥 상황에 맞게 각 라이브러리 장점 위주로 사용하면 좋을 것 같다.