티스토리 뷰

현재 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을 사용 하고 있습니다.

댓글