Параметр LOAD_NO_CACHE в WebView по-прежнему сохраняет файлы на диск? - PullRequest
9 голосов
/ 09 марта 2011

Несмотря на использование webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);, WebView по-прежнему сохраняет файлы MB в кэш-памяти.Есть ли способ действительно отключить кеш?

Спасибо

Ответы [ 2 ]

2 голосов
/ 27 января 2013

Ничто не обещает полностью отключить кеш.

Было бы лучше просто игнорировать кеш и заставлять webView каждый раз загружать новую или свежую страницу.

если кто-то беспокоится о размере занятого кэша, можно ограничить размер кэша. Есть много способов сделать это, посмотрите на мой аналогичный ответ . Надеюсь, ответ даст подсказку.

Но две вещи кажутся мне многообещающими для отключения кеша,

1) Использовать параметры заголовка при загрузке страницы,

Примечание: доступно для Android API 8 +

    Map<String, String> noCacheHeaders = new HashMap<String, String>(2);
    noCacheHeaders.put("Pragma", "no-cache");
    noCacheHeaders.put("Cache-Control", "no-cache");
    view.loadUrl(url, noCacheHeaders);

2) Если у вас есть HTML-страница, которую вы собираетесь загрузить в веб-представление, Вы можете добавить следующие метатеги на страницу HTML.

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 

Надеюсь, это поможет вам.

0 голосов
/ 15 сентября 2011

Попробуйте setAppCacheEnabled(false) в WebSettings.

Api ссылка: WebSettings.setAppCacheEnabled (логический флаг)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...