Мне нужно использовать пользовательский OkHttpClient, чтобы я мог добавлять заголовки к запросам изображения. Проблема заключается в том, что Picasso не будет кэшировать любые изображения на диске из-за этого. Я использовал setIndicatorsEnabled(true)
, чтобы проверить кеширование, и вижу только красные индикаторы. Когда я использую по умолчанию OkHttpDownloader, все в порядке. Ниже приведен код инициализации Picasso. Так кто-нибудь сталкивается с той же проблемой?Picasso не кэширует изображение на диске
public static void init(Context context) {
Picasso.Builder builder = new Picasso.Builder(context);
OkHttpClient client = new OkHttpClient();
client.interceptors().add(new AuthInterceptor());
Downloader downloader = new OkHttpDownloader(client);
Picasso.setSingletonInstance(builder.downloader(downloader).build());
Picasso.with(context).setIndicatorsEnabled(true);
}
Также мое изображение скачать код
public static void load(final ImageView imageView, final Image image) {
Picasso.with(imageView.getContext())
.load(image.getUrl())
.resize(400, 0)
.memoryPolicy(MemoryPolicy.NO_CACHE)
.into(imageView);
}
Почему вы делаете это? .memoryPolicy (MemoryP olicy.NO_CACHE) 'если вы хотите кеш памяти – Bhargav
Я действительно не хочу кэш памяти, я хочу только кэш диска. – HellCat2405
Так как это происходит при смене заголовков, вы, скорее всего, не устанавливаете заголовок 'Cache-Control' – Bhargav