56

In my android webview my webpage is loading even without internet because of cache, so i want to disable cache in android webview, can anyone help me how to do this?

I am using following lines in my webview, but still i am not able to disable cache.

     myBrowser.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
     myBrowser.getSettings().setAppCacheEnabled(false); 

Please suggest me if there are some other methods

1

4 Answers 4

66

Please add below code

mWebView.getSettings().setAppCacheEnabled(false);
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

Please remove app from history task and test its working.

Sign up to request clarification or add additional context in comments.

4 Comments

Works like a charm! I was having an issue with a payment gateway not updating the Amount in case user presses BACK and updates the order value. Now it works!
Can't thank you enough! Too much time wasted on this!
It seems setAppCacheEnabled is now deprecated. Does anyone know what replaced it..?
@Sho Hi, if it is still the issue, try this - stackoverflow.com/questions/62354423/… and here is info from javadoc: The Application Cache API is deprecated and this method will become a no-op on all Android versions once support is removed in Chromium. Consider using Service Workers instead. See web.dev/appcache-removal for more information.
35

Just after creating your webview, before loading any pages, you can clear the cache.

myBrowser.clearCache(true) - the boolean indicates if you wish to delete the cached files on disk as well.

The documentation is here if you wish to dig further.

2 Comments

I applied that without having to look for on SOF and Is correct but unfortunately doesn't work for me that way. Answer by @Piyush above did.
Perfect solution !
6

I had the same problem. Even though I had the below two lines, my webview was still loading old data.

webview.getSettings().setAppCacheEnabled(false); webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

My mistake was, i had this cache related settings after I called the loadUrl() on webview. After I moved these cache settings ahead of loadUrl(), i had everything working as expected.

Comments

3
 webView.clearCache(true)
 webView.clearHistory()
 webView.settings.cacheMode = WebSettings.LOAD_NO_CACHE;

Those 3 methods before the loadUrl method worked for me. Don't forget to clear the app storage or uninstall the app completely to test for the first time.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.