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로 이루어진 리소스를 로딩할 수 없다.

태그:

카테고리:

업데이트:

댓글남기기