안드로이드에서 Picasso 라이브러리가 생성하는 캐쉬 파일에 대한 질문입니다.
조회수 1773회
android에서 picasso를 사용중입니다.
picasso에 downloader는 OkHttpDownloader를 설정해서 사용을 하고 있습니다.
궁금한게
내부 로직을 보니 cache
폴더 밑에 picasso-cache
폴더에 cache가 되고 있는걸로 보이는데
여기서 질문을 드리면
1.파일명이 어떤 기준으로써 만들어 지는지 궁금합니다.
ex)
bc58db106dfbdbf4dc8686589b160ec4.1
bc58db106dfbdbf4dc8686589b160ec4.0
- 이
cache
폴더에 있는 파일을 사용 할 수 있는지 궁금합니다. (이미 다운로드 된거라 다시 사용하고 싶습니다.) - 감사합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
파일명은 OkHttp의 Cache.java에 있는
urlToKey()
라는 함수를 통해서 생성되는 것으로 보입니다. 파일명의 소스는 이미지 url이라고 이해하셔도 무리가 없을 것 같고요.private static String urlToKey(Request request) { return Util.md5Hex(request.url().toString()); }
디스크 캐시에 저장된 파일을 사용하고 싶다고 하셨는데요. Picasso를 사용해서 이미지를 로드하고 있다면 이미 내부적으로 이 파일을 사용하고 있는 것입니다. Picasso의 내부 캐시 로직에 의해서 이미지를 메모리에서 읽거나 혹은 디스크에서 읽도록 처리가 되어있습니다.
예를 들면 http://a.jpg 라는 이미지를 Picasso를 통해 로드하면 메모리와 디스크 캐시에 저장이 되고, 다음번 같은 이미지 로드 시, 메모리와 파일 캐시를 활용하게 됩니다. 따라서 다운로드 된 파일을 사용하고 싶다면 단순히 같은 url로 이미지를 로드하면 됩니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력