Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Caching in Android webview

Which one is faster way to load mobile web pages and non mobile web pages in Android webview; loading cache or not loading that at all?

And what is recommend style to load that?

Right now when I don't load cache at all non mobile sites are much more slower to load than when I load them in native browser.

like image 422
Eljas Avatar asked Feb 03 '12 12:02

Eljas


People also ask

Can we cache WebView in android?

This example demonstrate about How to enable app cache for webview in android. Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project. Step 2 − Add the following code to res/layout/activity_main.

How do I check my WebView cache?

webview cache is saved into /data/data/[your_package_name]/cache/org.

How do I disable cache in WebView?

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

How can I improve my WebView performance?

I read about how to increase performance of WebView by implementing Caching web resources like JS, CSS and image files. You can also static resources in your native application, and by intercepting the Resource requests you can override the default behaviour of WebView.


2 Answers

Don't use these:

viewer.getSettings().setAppCacheMaxSize(1024*1024*8);   
viewer.getSettings().setAppCachePath("/data/data/com.your.package.appname/cache"‌​);    
viewer.getSettings().setAppCacheEnabled(true);   

These have nothing to do with the default webview internal cache. Appcache is an entirely different feature mean to make you able to run the website w/o an internet connection. It does not work that great and probably you do not want to use it.

With setting this: viewer.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT) is enough.

like image 53
nurieta Avatar answered Oct 10 '22 11:10

nurieta


Of course, cached approach should be faster. That's the exact reason caching is there in the first place.

But you should be fine unless you specifically disable caching for webview. If you don't - it will use cache by default.

like image 15
Ivan Bartsov Avatar answered Oct 10 '22 12:10

Ivan Bartsov