Кэш Пикассо очистить

Я уже видел каждое решение, предложенное здесь, и у меня ничего не работает.

Как я могу очистить кеш Picasso в своем приложении?

Я пытался использовать аннулирование - не работает. Я видел кое-что о Picasso.cache.clear, но не мог получить доступ непосредственно к кешу.

(пожалуйста, не предлагайте мне использовать NO_CACHE)

Спасибо.


person Eliran Tutia    schedule 18.04.2016    source источник
comment
Можете ли вы опубликовать пример того, что вы пытались сделать с недействительным, что не сработало, чтобы лучше понять проблему, прежде чем напрямую переходить к другому решению?   -  person KunalK    schedule 18.04.2016


Ответы (2)


получить из этого ответа

Добавьте этот класс в пакет com.squareup.picasso.

package com.squareup.picasso;

public class PicassoTools {

    public static void clearCache (Picasso p) {
        p.cache.clear();
    }
}

Поскольку кеш имеет видимость пакета, этот класс утилиты может очистить кеш для вас. Вам просто нужно позвонить:

PicassoTools.clearCache(Picasso.with(context));

Просто добавьте этот файл в путь .../java/com/squareup/picasso

P.S. Я настоятельно рекомендую использовать glide вместо picasso, у него есть более мощные функции для управления кешем и потрясающие обратные вызовы загрузки. например, чтобы отловить ошибки загрузки

person Kirill Shalnov    schedule 18.04.2016

Обновите свою библиотеку picasso:

compile 'com.squareup.picasso:picasso:2.5.2'.

As Picasso.invalidate() доступен только для версии Gradle 2.5.0 и выше.

И для очистки кеша используйте функцию ниже:

Picasso.with(context).invalidate(file);
person Dhaval Patel    schedule 18.04.2016