Android Glide 라이브러리 + 이미지 로딩 빠르게하기
Glide 라이브러리
글라이드 오픈소스는 구글에서 개발한 미디어 관리 및 이미지 로딩 프레임워크로써 미디어 관련 일을 처리할 때 빠르고 효율적으로 사용이 가능하다.
내부 리소스(drawable)에 있는 리소스 뿐만 아니라 웹 페이지에 있는 이미지.url 에 접근하여 미디어 정보를 가져오고 이것을 ImageView 와 쉽게 연동할 수 있다.
Glide 라이브러리 세팅
- Android Studio 에서 앱 수준의 그래들 설정파일을 열어 아래의 코드를 추가
dependencies {
...
...
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
}
- 추가적으로 proguard 가 필요하다면
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
# for DexGuard only
-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
- 사용법은 아주 쉽다.
//심플한 사용
ImageView imv = (ImageView) findViewById(R.id.imv);
Glide.with(this).load("image_url").into(imv);
~.load(url).override(300, 200) //이미지 사이즈
~.load(url).placeholder() //
~.load(url).error()
~.centerCrop()
~.fitCenter()
- 기본 사용이외의 추가적인 메소드를 호출하여 추가 세팅을 할 수 있다.
- override() 는 이미지의 지정한 크기만큼 불러옴으로써 메모리 절약 + 속도 조금 더 빠르게
- placeholder() 는 이미지가 불러와질때까지 보여주는 이미지
- error() 는 이미지 로딩이 실패했을 때 보여주는 이미지
- centerCrop() 이미지 자르기
- fitCenter() 이미지뷰 안에서 이미지를 맞게 스케일 핏
참고자료
결론
- 많은 이미지를 로딩한다면 구글의 글라이드 라이브러리 강추