티스토리 뷰
이번 포스팅에서는 Glide 의 placeholder, thumbnail, imagecaching 에 대해 알아보자.
참고로, 지난 포스팅에서는 Glide 의 loading, override, transforming 에 대해 알아 보았다.
[Android] - 유용한 이미지 라이브러리 - Glide (1)
PlaceHolder
요청받은 이미지가 나타나기 전까지 지정한 이미지를 보여준다.
◼ PlaceHolder
네트워크로 이미지를 요청하거나 큰 이미지를 요청하여 시간이 오래 걸릴 때
PlaceHolder 로 지정한 이미지를 보여준다.
◼ Error PlaceHolder
이미지 로드에 실패할 경우 PlaceHolder 로 지정한 이미지를 보여준다.
◼ Fallback PlaceHolder
요청된 URl or 모델이 null 인 경우 PlaceHolder 로 지정한 이미지를 보여준다.
이미지 캐싱
Glide 는 기본적으로 메모리 & 디스크에 이미지를 캐싱하여 다음번엔 빠른 이미지 로딩을 지원한다.
Glide 는 이미지를 불러오기 위해 아래와 같은 절차로 여러 캐시를 확인한다.
1. Active resources — 현재 이 이미지가 다른 뷰에 나타나는가?
2. Memory cache — 이 이미지가 최근에 메모리에 로드되었거나, 여전히 메모리에 남아있는가?
3. Resource — 이 이미지가 예전에 디코드되었거나, 변형되었거나, 디스크 캐시에 기록되었는가?
4. Data — 이 이미지가 이전에 디스크 캐시에 기록되었던 데이터였는가?
◼ 메모리 캐시
기본적으로 메모리 캐싱을 하기때문에, 메모리 캐싱을 위해 추가적으로 할 일은 없다.
단, URL 이미지 로딩 시 한번 로드한 이미지는 chache 에 저장되어 서버에서 해당 이미지를 변경해도
App 의 이미지는 갱신되지 않는다.
이런 경우, skipMemoryCache(true) 로 메모리 캐시를 사용하지 않을 수 있다.
◼ 디스크 캐시
기본적으로 디스크 캐싱을 수행하며, 기본적인 개념은 메모리 캐시와 같다.
하단과 같은 diskCacheStrategy 를 지원한다.
- DiskCacheStrategy.ALL : 모든 이미지를 캐싱.
- DiskCacheStrategy.AUTOMATIC : RESOURCE 를 기반으로 전략적인 캐싱. (Default)
- DiskCacheStrategy.DATA : 원본 이미지만 캐싱.
- DiskCacheStrategy.RESOURCE : 해상도를 줄인 이미지만 캐싱
- DiskCacheStrategy.NONE : 디스크 캐싱 안 함.
메모리 캐싱과는 별개이므로, 둘다 사용하지 않을 경우 다음과 같이 둘다 꺼주어야 한다.
Thumbnail
요청받은 이미지가 나타나기 전까지 지정한 thumbnail 을 보여준다.
하단과 같이 0.1f 로 지정했다면 실제 이미지 크기중 10% 크기의 thumbnail 이 생성된다.
[이미지 loading 중] | [이미지 loading 완료] |
Target
Glide 는 기본적으로 이미지를 비동기로 로드하여 이미지뷰에 보여준다.
Glide 에서 target 을 이용하면 bitmap, drawable, placeholder 를 받아 처리할 수 있다.
◼ Custom target
Custom target 을 이용하면 쉽게 bitmap 을 인자로 받을 수 있다.
'Android' 카테고리의 다른 글
Glide 로 background image 설정하기 (0) | 2021.08.06 |
---|---|
Activity Result API (0) | 2021.06.04 |
유용한 이미지 라이브러리 - Glide (1) (0) | 2021.05.13 |
Android 진동 울리기 (1) | 2020.06.18 |
객체 직렬화 - Bundle (0) | 2020.03.19 |
- Total
- Today
- Yesterday
- Intent
- notifyDataSetChanged
- 무료 채굴
- task 생성
- android intent
- BroadcastReceiver
- StringUtils
- bindservice
- mPANDO
- StartService
- onContextItemSelected
- Android Service
- 무료채굴
- onCreateContextMenu
- task
- p2e
- android task
- 안드로이드 서비스
- 채굴앱
- android flag activity
- 앱테크 추천
- 리워드 어플
- android activity flag
- 안드로이드 인텐트
- 앱테크
- 리워드앱
- registerForContextMenu
- M2E
- WEMIX
- RoomDatabase
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |