Glide (0) 소개
이번에는 Glide에 대하여 간단히 알아보고자 한다.
Glide는 안드로이드의 이미지 라이브러리중 가장 유명한 2개의 라이브러리 중 하나이다! 다른 하나는 Picasso이다.
두 라이브러리 모두 로컬과 웹에 존재하는 이미지를 간단하고 빠르게 로딩하는 기능이 핵심인 라이브러리지만 차이점은 분명히 존재하기에, 다음 기회에 Picasso에 관한 이야기를 한 후에 두 라이브러리의 차이점에 대한 내용도 기술하겠다.
Glide
1. 개요
Glide는 Google에서 공개한 부드러운 스크롤링, 즉 이미지 전송 속도에 초점을 맞춘 Android용 이미지 라이브러리이다.
Glide에는 이미지 표시는 물론, 썸네일, 이미지 및 애니메이션 GIF, 비디오 스틸 등의 기능들이 포함되어있다.
2. 사용
Gradle 추가
자신의 프로젝트의 gradle에 아래 코드를 추가하면 바로 Glide를 사용 가능하다.
implementation ("com.github.bumptech.glide:glide:4.10.0@aar") {
transitive = true
}
API
Glide는 한 줄로 많은 요청을 수행할 수 있는 간단하고, 직관적인 API를 사용한다.
Glide.with(fragment)
.load(url) // string형, 이미지의 주소
.into(imageView); // xml의 이미지 뷰
이 세 줄만 있으면 이미지를 불러오는데 있어 문제가 없다. 물론 다른 메소드를 이용하여 에러를 캐치할 수도 있고, 캐싱 방식에 변화를 주어 자신에게 더욱 적합하도록 커스터마이징 할 수도 있다.
모든 메소드는 이 곳에서 Class/Detail/Method를 클릭하면 확인 할 수 있으며, 아래는 그 중에서 자주 사용되거나 유용한 메소드들이다.
override()
Glide.with(fragment)
.load(url)
.override(maxSize) # (width,height) 형식
.into(imageView)
// 지정한 크기 이상의 이미지를 지정한 크기로 줄여 호출합니다.
thumbnail() - 지정 이미지
Glide.with(fragment)
.load(url)
.thumbnail(
Glide.with(fragment)
.load(thumbnailUrl))
.into(imageView)
// 고품질의 이미지를 불러오는 동안, 미리 지정해둔 저품질의 썸네일을 빠르게 로드합니다.
thumbnail() - 저품질
Glide.with(fragment)
.load(url)
.thumbnail(/*sizeMultiplier=*/ 0.25f)
.into(imageView);
// 고품질의 이미지를 불러오는 동안, 지정해둔 저품질의 썸네일을 빠르게 불러와 보여줍니다.
error()
Glide.with(fragment)
.load(url)
.error(
Glide.with(fragment)
.load(fallbackUrl))
.into(imageView);
// url의 이미지를 불러올 수 없을 때, fallbackUrl의 이미지를 대신해서 불러옵니다.
asGif()
Glide.with(fragment)
.load(url)
.into(imageView)
.asGif();
// 해당 이미지를 gif로 불러오고 싶을 때, 호출하면 된다.
3. 장점
- 사용이 정말 간단한데, 성능은 강력하다.
- 다양한 내장 메소드를 기본으로 지원한다.
- 호출 순서가 imageView생성 -> 이미지 로딩 순 이기 때문에, View 크기 만큼의 자원만 사용한다.
- 이미지 로딩 속도가 타 라이브러리 비해 훨신 빠르다.
- 오픈소스이며 사용하는 개발자가 많고, 현재도 유지보수가 굉장히 원활하게 이루어지고 있다.
4. 단점
- 자동으로 캐싱을 하기 때문에, 기본적으로 이미지 새로고침이 실시간으로 일어나지 않는다.
- vector로 이루어진 리소스를 로딩할 수 없다.
댓글남기기