몇일 전 회사에서 컴포즈와 코루틴의 성능을 최대화 시키기 위해 Glide 에서 Coil 로 Migration 하는 작업을 진행하였습니다.
Glide 디펜던시를 모두 제거하고 이후에, Glide 에서 사용하는 Cache Directory 도 정리해주는 작업을 진행하였습니다.
따로 Cache Directory path 를 명시적으로 잡아서 사용하지 않고 있다면 아래 코드에서 Cache Directory path 를 찾을 수 있습니다.
따라서 아래와 같은 느낌으로 코드를 작성해주면 됩니다.
// 경우에 따라서 workerThread, mainThread 골라서 사용하면 될 것 같습니다
val defaultGlideCacheName = "image_manager_disk_cache"
context.cacheDir?.let { cacheDir ->
val glideCacheFile = File(cacheDir, defaultGlideCacheName)
if (glideCacheFile.isDirectory) {
glideCacheFile.deleteRecursively()
}
}
디버깅을 통해 기능을 확인한 코드이니, 프로덕트 에서 사용하실 때는 명시적으로 캐시 폴더를 잡아주고 있는지, 혹은 Glide 라이브러리 내에서 cache path 의 변경이 있지 않은지 체크 하고 사용하면 됩니다.
적절히 Migration 의 기능을 하는 Class 를 작성해주고, Application 과 같은 클래스에서 실행해주면 더욱 좋을 것 같네요.
오늘의 팁 끝!
'Android > Today I Learned' 카테고리의 다른 글
Android Font 고군분투기 (1) | 2021.12.06 |
---|---|
Coil 로 OnDemand-image-resizing 적용하기 (0) | 2021.11.23 |
멀티 모듈에서 Missing required view with ID 에러 해결 (1) | 2021.06.07 |
테스트 케이스로 작성해보는 RxJava 함수 (0) | 2021.02.07 |
Recycler view 동작 원리 (0) | 2019.04.13 |