티스토리 뷰
Glide 라이브러리를 사용해서 'url'을 통한 이미지를 얻어오는 중 서버에서 이미지를 바꾸었지만 앱에서는 교체가 안된것을 확인하고는 Glide에 대해 살펴보았습니다.
1 | Glide.with(this).load(url).into(event_image); | cs |
위와같은 기본적인 Glide 코드 형식을 사용해서 이미지를 집어넣게되면 Glide에서 다음번에 빠른 이미지 로딩을 위해서 캐시 형식으로 메모리에 이미지를 저장하게 됩니다. 따라서 이전 이미지와 제목이 같은 'url'이 들어가게 되면 Glide는 같은 이미지라 생각하고 캐시로 저장되어 있던 이미지를 사용했던 겁니다. 이 문제를 해결하기 위해서 코드에 캐시로 저장하지 않는 코드를 추가해주어야 합니다.
(이 때 메모리 캐시와 디스크 캐시를 기본적으로 다 수행하기 때문에 둘다 꺼주어야 같은 'url'에서 정상적으로 작동합니다.)
1 2 | .diskCacheStrategy(DiskCacheStrategy.NONE)// 디스크 캐시 저장 off .skipMemoryCache(true)// 메모리 캐시 저장 off | cs |
한 번에 적으면 다음과 같습니다.
1 2 3 4 | Glide.with(this).load(url) .diskCacheStrategy(DiskCacheStrategy.NONE) .skipMemoryCache(true) .into(event_image); | cs |
이제 'url' 이름이 같아도 캐시를 저장 하지 않기 때문에 이미지가 바뀔 경우 새로운 이미지가 제대로 나타날 겁니다.!
이렇게 해결은 했지만 제일 좋은 방법은 'url'을 바꿔주는 것이 좋을 것같네요.!( ~~1,~~2 이런식으로요!) 이미지가 많아 질 시에는 캐시가 되어있어야 빠른 로딩이 가능하고 캐시를 하지 않을 시 나가는 데이터도 많아지니깐요!
이렇게 해결은 했지만 제일 좋은 방법은 'url'을 바꿔주는 것이 좋을 것같네요.!( ~~1,~~2 이런식으로요!) 이미지가 많아 질 시에는 캐시가 되어있어야 빠른 로딩이 가능하고 캐시를 하지 않을 시 나가는 데이터도 많아지니깐요!
'안드로이드' 카테고리의 다른 글
[안드로이드] 버튼(Button) 이벤트 사용법 2가지! (0) | 2017.04.16 |
---|---|
[안드로이드] 버튼(Button) 대문자만 나올때!!! (0) | 2017.04.16 |
[안드로이드] EditText 한글 밑줄 문제 (0) | 2017.04.15 |
[안드로이드] Jsoup 오류 해결법(isSBSettingEnabled) (0) | 2017.04.14 |
[안드로이드] Intent 예제(3) 변수, 값 전달 (0) | 2017.04.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday