본문 바로가기
Programming 개발은 구글로/JAVA[Android]

[안드로이드] Glide Usage

by 40대직장인 2022. 6. 20.

Glide

1. build.gradle에서 dependency 추가

: 현재 개발 중인 App 기준으로 4.9.0

implementation 'com.github.bumptech.glide:glide:4.9.0'

 

※ 만약 외부통신을 통해 이미지를 가져와야 한다면 인터넷 권한도 추가

<uses-permission android:name="android.permission.INTERNET" />

 

2. 이미지 로드하기

: 기본적으로 Option 없이 View에 이미지를 넣는다면 with(), load(), into()만 사용하면 됩니다.

 

  • with() : View 또는 Fragment. Activity의 Context
  • load() : 이미지 로드.(Bitmap, Drawable, String, Uri, File, ResourId(Int), ByteArray)
  • into() : 이미지를 보여줄 View를 설정

 

Glide.with(this) // Use Activity
    .load(R.drawable.img_file)
    .into(imageView)

Glide.with(itemView) // Use ViewHolder 
    .load(R.drawable.img_file)
    .into(itemView.imageView)

 

RecyclerView에서 사용하려면 ViewHodler에서 바인드 할 경우와 같이 불러주면 됩니다.

 

3. Option 사용

: 이미지의 URL를 이용해서 메모리와 디스크에 캐싱을 할 수 있습니다.

 

  • skipMemoryCache() : 메모리에 캐싱하지 않으려면 true로 주면 됩니다.
  • diskCacheStrategy() : 디스크에 캐싱하지 않으려면 DiskCacheStrategy.NONE로 주면 됩니다.(ALL, AUTOMATIC, DATA, NONE, RESOURCE)

 

Glide.with(this)
    .load(R.drawable.img_file)
    .skipMemoryCache(true)
    .diskCacheStrategy(DiskCacheStrategy.NONE)
    .into(imageView)

 

glide 실행시 위 옵션을 적용하면 캐시를 사용하지 않고 어떤 uri이 오더라도 이미지를 계속 갱신하도록 합니다.

 

 

 

댓글