728x90

인터넷을 검색하여 사용자가 만든 라이브러리를 사용하여 이미지 로딩 처리를 하기도 하는데 이미지 로딩 라이브러리를 사용하는 것이 좋을 거 같아서 테스트를 해보고 있다.


Glide는 안드로이드 이미지 로딩 라이브러리로, 빠르고 효율적인 미디어 관리 오픈소스이고 이미지 로딩 프레임워크다. 미디어 디코딩, 메모리와 디스크 캐싱, 리소스 풀링을 간단하고 쉽게 할 수 있도록 도와준다.


사용법

Glide.with(this).load("http://goo.gl/gEgYUd").into(imageView);

- RecyclerView.Adapter listViewAdapter 에서는 this 대신에 context 사용


테스트 환경

Android Studio 2.3.3 버전 ==> 노트북 스펙 부족으로 최신 3.1.3 으로 업그레이드 중지


compileSdkVersion 26
buildToolsVersion "26.0.0"

defaultConfig {
    applicationId "com.tistory.link2me.asynchttpjson"
    minSdkVersion 19
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.loopj.android:android-async-http:1.4.9' // 서버와의 통신 라이브러리
    compile 'com.github.bumptech.glide:glide:3.8.0' // 이미지 라이브러리
    compile 'com.android.support:recyclerview-v7:24.2.0' // ListView 개선 버전
    compile "com.android.support:cardview-v7:24.2.0"
}


https://github.com/bumptech/glide 에 가면 최신버전이 4.7.1 로 나오는데 이걸 사용하면 buildToolsVersion 을 최신으로 사용하라고 나온다. 그래서 4.6.0 으로 해서 컴파일 해봤는데 recyclerview 에서 제대로 처리가 안되는지 에러가 발생하면서 앱이 종료된다. 4.5.0 4.2.0 으로도 시도했으나 실패된다.

glide:3.6.0, 3.7.0, 3.8.0 으로 한 이후에 문제없이 정상동작된다. ==> Android Studio 3.1.3 에서도 정상 동작된다.

자세히 공부하기 싫어서 검색하는 건 포기.....

https://bumptech.github.io/glide/doc/migrating.html


implementation 'com.squareup.picasso:picasso:2.5.2' // 이미지 라이브러리

Picasso 라이브러리를 사용하는데 에러가 발생하여 Glide 라이브러리를 사용해본 건데 아무 버전이나 잘 동작되는건 아닌거 같다.


라이브러리는 버전업이 되면서 오히려 버그가 발생하기도 해서 가능하면 사용하고 싶지 않은데, 코드가 너무 길어지고 메모리 에러 발생 등 고려할 요인들이 너무 많아서 잘 만들어진 라이브러리를 사용하는 것이 속 편하다.


참고하면 도움되는 글

https://d2.naver.com/helloworld/429368


블로그 이미지

Link2Me

,