¿Cómo implementar mi propio caché de disco con la biblioteca picasso – Android?

Estoy usando la biblioteca picasso para cargar imágenes para mi aplicación. Pero no sé cómo implementar mi propio almacenamiento en caché de disco (sdcard) con la biblioteca picasso.

Picasso usa el cliente HTTP para el almacenamiento en caché de disco y, si ya está configurado, lo usará en lugar de instalar el suyo propio.

Para el UrlConnection incorporado, los documentos para instalar un caché están aquí: https://developer.android.com/reference/android/net/http/HttpResponseCache.html

Si está utilizando OkHttp, simplemente llame a setCache: http://square.github.io/okhttp/2.x/okhttp/com/squareup/okhttp/OkHttpClient.html#setCache-com.squareup.okhttp.Cache-

@Dax, para guardar archivos en el directorio de caché personalizado usando OkHttp, codificaría algo como esto:

OkHttpClient okHttpClient = new OkHttpClient(); File customCacheDirectory = new File(Environment.getExternalStorageDirectory().getAbsoluteFile() + "/MyCache"); okHttpClient.setCache(new Cache(customCacheDirectory, Integer.MAX_VALUE)); OkHttpDownloader okHttpDownloader = new OkHttpDownloader(okHttpClient); Picasso picasso = new Picasso.Builder(mainActivity).downloader(okHttpDownloader).build(); picasso.load(imageURL).into(viewHolder.image); 

Espero que esto ayude.