Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- ViewModel
- Coroutine
- LiveData
- Navigation
- 안드로이드
- Algorithm
- hilt
- onLayout
- CustomView
- 알고리즘
- Android
- HTTP
- 백준
- DataBinding
- View
- recyclerview
- 알림
- sqlite
- CoordinatorLayout
- kotlin
- AppBarLayout
- lifecycle
- notification
- 코틀린
- Behavior
- CollapsingToolbarLayout
- room
- activity
- BOJ
- onMeasure
Archives
- Today
- Total
개발일지
Android in A..Z - Glide 본문
Glide
Android에서 Image를 빠르게 불러오기 위한 라이브러리다. 기본적으로 이미지, GIF를 불러올 수 있고, 에러처리, 디스크 캐쉬등 다양한 기능을 제공한다.
Glide의 원칙은 어떠한 이미지도 빠르고 부드럽게 불러오는 것을 목표로 한다.
Dependency
ext {
glide_version = "4.12.0"
}
dependencies {
// Glide
implementation "com.github.bumptech.glide:glide:$glide_version"
annotationProcessor "com.github.bumptech.glide:compiler:$glide_version"
}
github.com/bumptech/glidebumptech.github.io/glide/doc/download-setup.html
사용법
with : view, context, fragment, activity 등이 들어갈 수 있다.
load : imageURL, uri, file, bitmap, resourceId, byteArray, drawble 등이 들어갈 수 있다.
into : imageView가 들어간다.
Glide.with(view)
.load(uri)
.into(imageView)
이미지 에러 처리
error : resourceId나 drawable이 들어간다.
Glide.with(this)
.load("") // imageURL을 이상하게 줘서 에러 발생
.error(R.drawable.ic_android_black_24dp)
.into(imageView)
이미지 크기 처리
로딩속도를 빠르게 하고 메모리를 절약할 수 있다.
override : width, heigt값을 넘겨준다.
Glide.with(this)
.load(uri)
.override(500, 500)
//.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.into(imageView)
로딩중 대체 이미지
plachholder : resourceId, drawable을 줄 수 있다.
Glide.with(this)
.load(uri)
.placeholder(R.drawable.ic_android_black_24dp)
.into(imageView)
GIF처리
asGif()
Glide.with(this)
.asGif()
.load(uri)
.into(imageView)
메모리 캐쉬
skipMemoryCache : 메모리 캐쉬를 설정할 수 있다. (기본값 : true)
Glide.with(this)
.load(uri)
.skipMemoryCache(true)
.into(imageView)
디스크 캐쉬
diskCacheStrategy : 디스크에 캐쉬를 어떻게 할 지 정한다. (기본값 : ALL)
- DiskCacheStrategy.NONE : 디스크 캐싱을 하지 않는다.
- DiskCacheStrategy.SOURCE : 원본 이미지만 캐싱
- DiskCacheStrategy.RESULT : 변형된 이미지만 캐싱
- DiskCacheStrategy.ALL : 모든 이미지를 캐싱
Glide.with(this)
.load(uri)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(imageView)
URL에 Header 추가하기
Glide.with(view).load(
GlideUrl(uri) {
mapOf(
"User-Agent" to "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Mobile Safari/537.36"
)
}
).into(view)
공식문서
이 외에도 다양한 기능이 공식문서에 등록되어있다.
Git (예제코드)
github.com/KangTaeJong98/Example/tree/main/Android/Glide
'Android (안드로이드)' 카테고리의 다른 글
Android in A..Z - Fragment.setRetainInstance (0) | 2021.02.01 |
---|---|
Android in A..Z - TextInputLayout (0) | 2021.01.20 |
Android in A..Z - Widget (0) | 2020.08.09 |
Android in A..Z - Handler (0) | 2020.07.28 |
Android in A..Z - Activity Lifecycle (0) | 2020.07.28 |
Comments