Я использую Пикассо библиотеки (2.5.2) с OkHttpDownloader (2.4.0) в качестве загрузчикаПикассо выборки() и получить() с OkHttpDownloader
OkHttpClient myOkHttpClient = new OkHttpClient();
myPicassoInstance = new Picasso.Builder(context).downloader(new OkHttpDownloader(myOkHttpClient)).build();
Picasso.setSingletonInstance(myPicassoInstance);
в RemoteViewsService.RemoteViewsFactory для заполнения сетки изображений упреждающая выборка выборки() в onDataSetChanged() метод
Picasso.with(mContext)
.load(picture)
.resize(Math.round(160 * displayMetrics.density), Math.round(90 * displayMetrics.density))
.centerCrop()
.fetch();
и получать от ГЮТ() в getViewAt метод()
Picasso.with(mContext)
.load(itemsList.get(position).getUrlImage())
.resize(Math.round(160 * displayMetrics.density), Math.round(90 * displayMetrics.density))
.centerCrop()
.get());
Ну, включив запись в экземпляр Picasso, я вижу, что сначала запускает fetch() загружает из сети и записывает записи в кеш, а get() загружается из кеша. Во второй раз, обновляя содержимое сетки, fetch() загружает из памяти и get() из кеша. И это нормально.
Но когда процесс замирает и перезапускается, fetch() перезагружается для загрузки из сети, игнорируя записи кэша, почему?
UPDATE Я попытался без OkHttpDownloader (2.4.0), как загрузчик и теперь получать() загружает правильный первый раз от сети (если изображение оленья кожа существовать в кэше) или с диска (если изображение существует в кэше), сохраняя память до тех пор, пока процесс не погибнет.
myPicassoInstance = new Picasso.Builder(context).build();
Picasso.setSingletonInstance(myPicassoInstance);
то есть какой-то конфликт между библиотекой Пикассо (2.5.2) и (2.4.0 OkHttpDownloader)?
ОБНОВЛЕНИЕ 2
- Пытался с OkHttpDownloader (2.3.0) в качестве загрузчика: такой же проблемы
- опробован UrlConnectionDownloader, как загрузчик: такой же проблема
- пробовали использовать в() в адаптере : same problem