Glide ?
- 이미지 로딩 라이브러리
- 네트워크 호출로 가져오는 과정에서 캐싱 정책, 디코드, 메모리 관리 등 복잡한 일을 관련해서 대신 해주는 라이브러리
아니 그래서 사용은?
1. 라이브러리 사용 설치
2. 네트워크 통신 사용시 권한 설정
3. 사용하자!
사용하는데 주요함수는 뭐니?
Glide.with(context)
.load(이미지 url)
.placeholder(로딩 중 보여줄 이미지)
.fallback(이미지 url값이 null일 경우 보여줄 이미지)
.error(에러 시 보여줄 이미지)
.thumbnail(비율 또는 저해상도 이미지 강제 로드)
.diskCacheStrategy(옵션)
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
return false;
}})
.into(적용할 ImageView);
- 상세 설명
- placeholder() : 이미지를 가져오는 동안 보여줄 이미지를 설정한다. 요청한 이미지를 정상적으로 가져오기 전까지 이미지를 대체한다.
- fallback() : 이미지 url 또는 모델이 null값으로 가져올경우 기본값을 설정해주는 함수. 해당 처리 함수가 없을시 error()로 처리한다.
- error() : 이미지 가져오기 실패 시 보여줄 이미지를 설정한다.
- thumbnail() : 지정한 비율만큼만 이미지를 미리 가져와서 보여주거나 저해상도 이미지를 강제로 표시한다. 파라미터에 0.3f로 지정하면 30% 비율로 가져와서 흐릿하게 보여준다. 기본 요청과 병렬로 처리되며, 기본 요청이 완료되거나 빠르게 처리될경우 네일 이미지는 보여지지 않는다.
- listener() : 이미지가 정상/비정상 적으로 불러오고 난 후 이미지 크기 변경, 텍스트 값 변경 등 다양하게 함수를 사용하고 싶을때 사용한다.
- diskCacheStrategy() : 캐싱 정책에 관련해서 설정할 수 있다.
- DiskCacheStraegy.ALL : 원본 데이터와 디코딩 한 리소스 모두 캐시
- DiskCacheStraegy.AUTOMATIC : 로컬 또는 네트워크 이미지에 따라 최적화된 전략 사용
- DiskCacheStraegy.DATA : 원본 데이터를 디코딩하고 캐시 (한번만 불러오고 수정되지 않는 한 다시 불르지 않는다. 일종의 저장개념)
- DiskCacheStraegy.NONE : 디스크 캐시 사용하지 않음
- DiskCacheStraegy.RESOURCE : 원본 데이터를 디코딩 후 캐시
잘 봤습니다. 좋은 글 감사합니다.