티스토리 뷰
[Android]Glide -이미지 로딩/캐싱 라이브러리(Image loading/caching library)
Kanzler 2018. 11. 24. 13:32현재 Android에서 가장 많이 사용 되는 이미지 라이브러리 중에 하나인 'Glide'에 대해서 알아 보겠씁니다.
Android에서 리소스에 이미지를 불러 오거나 디바이스 내 파일 혹은 URL을 통해 이미지를 가져와 표시 하는 경우가 많은데 이럴때 사용되는 라이브러리가 바로 'Glide'입니다.
'Glide'은 2014년 공개된 라이브러리로 몇줄에 코드로 memory,캐시,디코딩등에 복잡한 작업들을 가능 하게 해주는 멋진 라이브러리 입니다.
https://github.com/bumptech/glide
Gradle 기준으로
1 2 3 4 5 6 7 8 9 | repositories { mavenCentral() google() } dependencies { implementation 'com.github.bumptech.glide:glide:4.8.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0' } | cs |
MyAppGlideModule.java
1 2 3 4 5 | import com.bumptech.glide.annotation.GlideModule; import com.bumptech.glide.module.AppGlideModule; @GlideModule public final class MyAppGlideModule extends AppGlideModule {} | cs |
사용법
1 2 3 4 5 6 7 | ImageView imgPic; imgPic = findViewById(R.id.image01); GlideApp.with(this) .load("이미지 URL") .into(imgPic); | cs |
사용법은 간단 합니다. URL에서 가져온다고 가정 했을 때 이미지 URL 및 이미지가 표시될 ImageView에 값만 넣어 주면 됩니다.
'Glide'은 다양한 옵션(썸네일,디폴트 이미지, 리사이즈등)을 샘플 코드로 제공 해주는데, 좀더 자세한 사용법은 아래 가이드 문서를 참고 하시길 바랍니다.
https://bumptech.github.io/glide/
※GlideApp을 찾지 못 할때 (not found) 해결 방법
MyAppGlideModule.java를 만들게 되면 기본적으로 'GlideApp'을 통해 사용이 가능 하지만 간혹 가다 not found 에러가 발생 될 수 있습니다.
이럴 경우 안드로이드 스튜디오에서 Build -> Clean project (다음에) Rebuild Project를 하면 사용 할수 있습니다.
※Glide,Picasso,Universal Image Loader(UIL)에 대한 개인적인 생각
안드로이드에서 사용되는 여러 이미지 로딩 라이브러리 중에서 Glide,Picasso,Universal Image Loader(UIL)를 모두 사용해 프로젝트를 개발한 경험 후 느낀 점은 Universal Image Loader(UIL)은 Glide,Picasso이전에 사용 했던 가장 강력한 라이브러리로 사용법이 쉽고 쉽게 커스텀해 사용 할 수 있었고 타 라이브러리보다 압도적으로 많은 관련 자료를 찾아 볼 수 있는 장점이 있었습니다.
하지만 현재는 사용 하지 않는 라이브러리 입니다.
Glide,Picasso는 둘다 사용법이 간단하고 비슷한 부분이 많아 쉽게 사용 될 수 있습니다. Glide이 Picasso에 비해서 무겁고,느립니다.
옵션이나 기능면에서 Glide이 Picasso보다 뛰어 납니다.
개인적으로 간단한 프로젝트에서는 Picasso를 사용 하고 있으며,gif든가 썸네일 등 Glide에서만 제공 되는 기능을 사용 하는 경우에는 Glide을 사용 하고 있습니다.
'IT > Android' 카테고리의 다른 글
[Android] 코드로 weight 수정 하기 (0) | 2019.04.12 |
---|---|
[Android]fragment에서 onRequestPermissionsResult이 호출 되지 않을 때 (0) | 2019.04.12 |
[Android]유용한 라이브러리 -Butter Knife 사용법 (0) | 2018.11.24 |
[Android]Eclipse에서 Http lib 사용 중 targetSdkVersion 26(Android 8.0 :Oreo)로 업데이트 할때 에러 해결방법 (0) | 2018.10.22 |
[Android]JSON데이터 파싱하기(GSON 이용) (0) | 2018.07.13 |
- Looper.prepare()
- 국기 다는 시간
- unbound prefix
- 다렉
- 블로그 개설
- 7700K
- 투표소
- 래디어 구조
- 초대장
- 테일즈 오브 베르세리아
- 한글 패치
- JSON PASER
- 티스토리 초대장
- GPU 출시가격
- 배달 지연
- 하이엔드 그래픽카드
- 사제 쿨러
- 한글패치
- 1800TI
- 단면폭
- ONLINE JSON
- 민주당 대선 후보
- GPU 출시
- 19대 선거
- 라이젠
- 예약메일 전송
- 오픈베타
- 1800X
- 포아너
- 림의 외경
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |