나만의 AI/안드로이드 도와줘

Android kotlin [Glide 알려줘]

정혜현 2024. 8. 1. 22:38

Q. 어떻게 사용해?

A. 

//gradle에 입력
implementation ("com.github.bumptech.glide:glide:4.16.0")

 

//recyclerview adapter _ inner class Holder에 입력
inner class Holder(private val binding: ItemRecyclerviewBinding) :
        RecyclerView.ViewHolder(binding.root) {
			fun bind(item: Documents) {
                binding.apply {
                }
               Glide.with(itemView.context)
                   .load(item.thumbnail_url)
                   .into(binding.ivItemTitle)

            }
        }

 

 

 

Q. 언제 썼어?

A. 

자원 : Retrofit으로 받은 Rest API의 이미지 URL

상황 : Fragment RecyclerView adapter에 ViewBinding과 setImageURI()로 적용하는데 안됐을 때 해결

 

 

 

 


 

 

 

 

Q. Glide란?

 

다운샘플링과 캐싱으로 효율적인 이미지 로드 라이브러리

 

ᖜ ‿ᖜ 다운샘플링Down Sampling

디코딩 하기 전 이미지 사이즈를 작게 세팅하는 작업

막대한 메모리 사용으로 인한 OOM Out of memory 에러를 방지

 

 

 

좀 더 섬세한 작업이 가능한 Glide

.with() : Context
.load() : 이미지 로드
.into() : 이미지를 보여줄 View 지정

.placeholder() : 이미지 로딩 전에 보여줄 이미지 설정
.error() : 리소스를 불러오다가 에러가 발생했을 때 보여줄 이미지 설정
.fallback() : load할 url이 null인 경우 등 비어있을 때 보여줄 이미지 설정

.skipMemoryCache() : 메모리에 캐싱하지 않으려면 true
.diskCacheStrategy() : 디스크에 캐싱하지 않으려면 DiskCacheStrategy.NONE

                                     DiskCacheStrategy.ALL 모두 저장
                                     DiskCacheStrategy.AUTOMATIC 자동 저장
                                     DiskCacheStrategy.RESOURCE 데이터를 디코딩한 후 캐싱
                                     DiskCacheStrategy.DATA 데이터를 디코딩하기 전 캐싱

.asGif() : 움직이는 gif 이미지