티스토리 뷰
Glide clear cache
파일 이름은 해시된 키이므로 특정 URL 또는 파일 경로에 해당하는 캐시된 파일을 모두 디스크에서 삭제하는 것이 좋습니다. 원본 이미지를 로드하거나 캐시 할 수만 있다면 문제가 더 간단해질 것입니다.
실제로 캐시 파일을 무효로 하는 가장 좋은 방법은 내용이 변경되면 (예 : url, uri, 파일경로 등 ) 식별자를 변경하는 것입니다.
< 출처 : https://github.com/bumptech/glide/wiki/Caching-and-Cache-Invalidation >
파일 경로를 변경할 수 없으므로
Glide는 메모리와 디스크 캐시 키에 추가 데이터를 섞어서
캐시된 데이터가 무효화되는 시점을 효과적으로 제어 할 수 있도록
signature() API 를 제공한다.
디스크의 이미지를 매번 다시 로드하려면 다음과 같이 코드를 변경할 수 있다.
1 2 3 4 | Glide.with(DemoActivity.this) .load(Uri.parse("file://" + imagePath)) .signature(new StringSignature(String.valueOf(System.currentTimeMillis()))) .into(mImage); | cs |
+References
https://stackoverflow.com/questions/33443146/remove-image-from-cache-in-glide-library
+ 추가
Glide가 v3 에서 v4 가 되면서 migratinon 되었다
http://bumptech.github.io/glide/doc/migrating.html#requestoptions
RequestOptions 객체가
centerCrop(), placeholder(), error(), priority(), diskCacheStrategy()
를 포함한다
적용시키기 위해서는
1 2 3 4 5 6 7 8 | RequestOptions myOptions = new RequestOptions() .fitCenter() .override(100, 100); Glide.with(fragment) .load(url) .apply(myOptions) .into(drawableView); | cs |
위와 같이 적용해야 한다고 한다
+
마찬가지로 StringSignature 객체도 마이그레이션 되었다는데
방법을 알아내지 못해서
RequestOptions 에
1 2 | .diskCacheStrategy(DiskCacheStrategy.NONE)// 디스크 캐시 저장 off .skipMemoryCache(true)// 메모리 캐시 저장 off | cs |
위와 같이 추가하여 해결하였다
자세히 알아봐야지
'프로그래밍 > Android' 카테고리의 다른 글
[Android] Android 3.1 suck (0) | 2018.03.30 |
---|---|
[Android] This AsyncTask should be static or leaks might occur (2) | 2018.02.07 |
[Android] Retrofit, POST parameters (0) | 2018.01.18 |
[Android] ScrollView 에서 Expand (0) | 2017.12.27 |
[Android] Fragment setCustomAnimations() (0) | 2017.12.27 |