`
lijunjie
  • 浏览: 392330 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于WebSettings.CacheMode的一些理解

 
阅读更多
===== 关于WebSettings.CacheMode的一些理解 =====
WebSettings.CacheMode总够有5个选项
   - LOAD_DEFAULT
       * 默认加载方式,使用这种方式,会实现快速前进后退,在同一个标签打开几个网页后,关闭网络时,可以通过前进后退来切换已经访问过的数据,同时新建网页需要网络
   - LOAD_NO_CACHE
   - LOAD_NORMAL
       * 这个方式跟LOAD_NO_CACHE方式相同,不使用缓存,如果没有网络,即使以前打开过此网页也不会使用以前的网页。
   - LOAD_CACHE_ELSE_NETWORK
       * 这个方式不论如何都会从缓存中加载,除非缓存中的网页过期,出现的问题就是打开动态网页时,不能时时更新,会出现上次打开过的状态,除非清除缓存。
   - LOAD_CACHE_ONLY
       * 这个方式只是会使用缓存中的数据,不会使用网络。
影响缓存模式的两个http头是If-None-Match和If-Modified-Since,遇到这两个http头,浏览器会把缓存模式改为LOAD_NO_CACHE方式。
分享到:
评论

相关推荐

    Android WebView的使用方法及与JS 相互调用

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webSettings.setAllowFileAccess(true); webSettings.setNeedInitialFocus(true); webSettings.setJavaScriptCanOpenWindowsAutomatically(true); ...

    Android WebView 实现缓存网页数据

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webSettings.setDomStorageEnabled(true); webSettings.setAppCacheEnabled(true); webSettings.setAppCachePath(context.getCacheDir().getPath()...

    Android网络功能开发-WebView控件使用的例子

    3. 启用缓存机制:`webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK)`,这样在离线状态下也能显示之前加载过的页面。 4. 添加进度条:可以监听`WebView`的加载进度,并显示一个进度条。 5. 安全性...

    AndroidBTAndroidWebViewSelection(webview选择文字)-IT计算机-毕业设计.zip

    webSettings.setAllowUniversalAccessFromFileURLs(true); webSettings.setAllowFileAccess(true); webSettings.setJavaScriptEnabled(true); webSettings.setBuiltInZoomControls(true); webSettings....

    webview的使用,优化,缓存

    webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); ``` 2. 数据存储:Webview还可以通过`localStorage`、`IndexedDB`、`WebSQL`等方式存储数据,但需要注意其可能会占用大量空间,应定期...

    Android高级应用源码-webview支持html5视频播放实例.zip

    webSettings.setPluginState(WebSettings.PluginState.ON); ``` 这里的`setAllowFileAccess(true)`和`setAllowContentAccess(true)`允许Webview访问本地文件,这对于播放本地存储的视频至关重要。`setPluginState...

    WebView控件的缓存以及不打开手机浏览器浏览下级页面

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); ``` 这样设置后,WebView会优先尝试从本地缓存加载资源,如果缓存中没有,再从网络获取。 2. 设置缓存大小: ```java webSettings....

    WebViewdemo.zip

    通过`webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK)`,可以让WebView优先尝试使用本地缓存。 7. **加载本地HTML内容**:除了加载远程URL,WebView还可以加载本地的HTML、CSS和JavaScript文件。这...

    WebViewStudy,网络视图.zip

    5. **缓存机制**:了解WebView如何使用内存和磁盘缓存,以及如何控制缓存策略,例如通过`WebSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK)`来优先尝试使用缓存。 6. **安全考虑**:理解HTTPS加载和...

    Android中使用WebView显示网页

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webSettings.setDomStorageEnabled(true); ``` 7. **安全与隐私** 为了保护用户数据,应考虑启用Mixed Content模式(混合内容模式),以便在...

    WebView详解案例加注释全套

    7. **缓存策略**:通过`WebSettings`可以设置WebView的缓存模式,比如`setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK)`,在无网络时使用本地缓存。 8. **安全考虑**:为防止XSS攻击,可以开启WebKit的内置防跨...

    WebView详解

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); ``` 8. **允许访问文件** ```java webSettings.setAllowFileAccess(true); ``` 9. **设置初始焦点** ```java webSettings....

    快速解决android webview https图片不显示的问题

    2. `WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE`:在保证安全性的前提下,尝试兼容混合内容。在某些情况下,这可能允许在HTTPS页面上加载HTTP资源,但并非所有浏览器或WebView实现都支持此模式。 除了上述方法...

    安卓Android源码——webview重载使用&自定义网址.zip

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webSettings.setSupportZoom(true); ``` 3. **重载WebViewClient**:为了控制网页加载行为,可以重写WebViewClient类的某些方法,如...

    Android 调用远程API实现在线翻译单词功能.rar

     webSettings.setJavaScriptEnabled(true);//设定可执行JavaScript  wv.addJavascriptInterface(this, "irdc");//设定给html调用的对象及名称  String url = "file:///android_asset/google_translate.html";//...

    Android的WebView的基本使用

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webSettings.setDomStorageEnabled(true); webSettings.setAppCacheEnabled(true); ``` 11. **安全考虑** 为了防止XSS攻击,记得在使用`...

    Android中WebView的具体实现

    webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); ``` 4. 安全浏览:启用Mixed Content(混合内容)策略,防止加载不安全的HTTP链接。 ```java if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {...

    android的webview代码

    webSettings.setAllowUniversalAccessFromFileURLs(false); ``` 7. **权限管理**: 如果加载的网页需要访问网络,别忘了在AndroidManifest.xml中添加INTERNET权限: ```xml ...

    WebView的基本详细使用

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); // 使用缓存,否则加载网络 webSettings.setDefaultFontSize(16); // 设置默认字体大小 webSettings.setSupportZoom(true); // 支持缩放 ...

    实现缓存WebView中的图片的demo

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); webSettings.setDomStorageEnabled(true); webSettings.setAppCacheEnabled(true); webSettings.setAppCachePath(context.getCacheDir()....

Global site tag (gtag.js) - Google Analytics