Вот мой сценарий. Я использую WebView, чтобы показать мой мобильный сайт в приложении. Мы регулярно обновляем наш сайт и автоматически очищаем кеш веб-сайта, поэтому посетители получают последнюю версию нашего сайта вместо устаревших версий. Я заметил, что иногда WebView обслуживает старый контент - он иногда не загружает более новые версии нашего сайта. Следовательно, я ищу способ заставить WebView показать новый контент.Как очистить кеш Android WebView?
Я знаю, что могу полностью отключить кеш WebView и заставить его каждый раз захватывать страницу с нашего сервера, но это неэффективно. Я хочу, чтобы кеш использовался, когда кешированная страница является последней версией; если это не так, то кеш не должен использоваться.
Единственный способ, которым я могу думать делать это вручную очистить кэш, что-то вроде этого:
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
view.clearCache(true);
}
Но, опять-таки, это неэффективно - нет необходимости очистить весь кэш после каждый просмотр страницы. Мой вопрос в том, есть ли способ очистить только кэшированные HTML-файлы и оставить CSS/JS/и т. Д.? Это был бы хороший компромисс между всегда очисткой кеша и некогда служением устаревшим контентом. Удаляя только кэшированные HTML-файлы после каждого просмотра страницы, WebView вынужден захватывать последние HTML-страницы с моего сервера, не перезагружая CSS или JS.
Еще лучше, чтобы избавить от ненужной вычислительной мощности, есть ли способ удалить из кеша только конкретную страницу, на которой пользователь включен? Например. После загрузки google.com кэшированная HTML-страница для google.com (но не CSS, JS и т. Д.) Удаляется, поэтому при следующем загрузке google.com загружается последняя версия.
Спасибо!
Я здесь, чтобы узнать, нашли ли вы ответ на эту проблему. Потому что даже изменение ресурса url не помогло мне ... спасибо – Dazag