2015-01-30 2 views
0

Я использую библиотеку picasso для загрузки коллекции изображений из Интернета в свое приложение.Получить список кешированных изображений

Picasso.with(this).load(url.getString(url.getColumnIndex(mediaURL))+media.getString(0)); 

Как я могу получить список кешированных изображений по picasso?
Как долго изображения будут в кеше, пока мне не придется загружать их снова?

ответ

3

Picasso не поддерживает дисковое кэширование самостоятельно.

Он использует кеш памяти, который живет до тех пор, пока выполняется ваше приложение, и нацеливает около 15% доступного пространства в куче.

Для дискового кэша он зависит от используемого вами HTTP-клиента. Например, если вы используете его с OkHttp, размер кеша диска составляет 50 МБ в большинстве случаев (они нацелены на 2% дискового пространства в пределах 5-50 МБ).

Таким образом, изображения будут полностью сохранены в кеше (используется DiskLruCache, что означает, что сначала используются последние изображения в кэше), но у вас нет контроля над этим.

Если вам нужен доступ к изображениям, вы могли бы пройти в месте и пользовательский размер файла кэша при инициализации Picasso:

новый Picasso.Builder.with (контекст) .downloader (новый OkHttpDownloader (cacheFile, CACHESIZE)) .build();

Позже вы можете получить доступ к файлу и изображениям кеша в любое время.

Смежные вопросы