post-custom-banner

기본 사용법

Glide와 Picasso 모두 안드로이드 이미지 로딩에 사용되는 라이브러리입니다.
Glide 라이브러리와 Picasso라이브러리의 기본적인 구성은 같습니다.

👉 Glide.with(context).load("이미지 링크").into(imageView) Picasso.with(context).load("이미지 링크").into(imageView)

하지만 Picasso는 with()함수에서 Context만을 지원하고,
Glide는 Context뿐만 아니라 다른 객체들도 사용할 수 있습니다.

예를 들어 Fragment같은 경우에, Glide에서는 with()함수에 getActivity()를 해줄필요 없이 this로 바로 넣어주어도 사용 가능합니다.

차이점

  1. 이미지 Bitmap 포맷 방식의 차이
    • Glide와 Picasso는 Bitmap 포맷이 다르다
    • Picasso는 ARGB_8888, Glide는 RGB_565를 사용한다.
    • RGB는 ARGB에 비해 화질이 다소 떨어지지만 메모리 용량을 적게 사용한다.(50%)
👉 RGB_565 : 2byte로 1pixel을 표현하는 방식. 16bit (2byte)를 쪼개서 R(5bit), G(6bit), B(5bit)로 표현하는 방식. R,B는 2^5 = 32로 32가지의 구분 정밀도를, G는 2^6 = 64로 64가자의 구분 정밀도를 갖는다. (32*64*32 = 65,536 색 표현 가능) 👉 한 pixel을 4byte를 이용해서 우수한 색 표현을 하게 된다. 각 색별로 1byte씩 사용하고 있어서 개발시에도 다루기 편하다. (256*256*256=16,777,216 색 표현가능)
  1. 이미지 캐싱 방식
  • 1920x1080의 이미지를 864x 432 크기의 ImageView에 로드를 시킨다고 생각하자.
  • Picasso : 1920x1080 원본 이미지를 캐시한다.
  • Glide : 864x 432크기의 이미지를 캐시한다.

  • 만약에 위의 경우를 거친 후 420x 210크기에 새로 로드를 한다고 생각하자.
  • Picasso : 원본 이미지를 가지고 있으므로 다시 캐시하지 않음.
  • Glide : 420x 210크기의 이미지를 캐시한다.
  1. Glide만이 가지고 있는 메서드
  • GIF
    Glide에서는 ImageView에 GIF파일을 로드할 수 있습니다.하지만 GIF는 많은 메모리 사용량을 보이기때문에 적절하게 GIF를 사용해야 합니다.
  • Thumbnail기능
    <용량이 큰 이미지의 경우 thumbnail()함수를 이용하여 우선 10%만큼만 가져와서 흐릿하게나마 먼저 보여주고 그다음 전체 이미지를 로드해서 사용자에게 좀더 쾌적한 UI를 제공해줄 수 있습니다.
  • Custom Animation
    Picasso에서는 단순히 fade in 기능의 애니메이션만을 지원하는 반면, Glide에서는 .animate(ViewPropertyAnimation.Animator)을 이용하여 여러 애니메이션을 보여줄수 있습니다.
  • Custom load
    기본적으로 Image Resource, URL, 휴대폰 내장 이미지를 로드하는 기능 외에도 Custom Model을 만들어서 이를 로드하는 기능도 지원하고 있습니다.
profile
러닝커브를 따라서 등반중입니다.
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 1월 19일

글라이드도 원본 캐시하는걸로 바뀌었을 건데 출처가 궁금합니다

답글 달기