【问题标题】:Loading Non cached webview in android app在android应用程序中加载非缓存的webview
【发布时间】:2016-05-03 14:22:20
【问题描述】:

我有一个 HTML 模板文件,它在多个地方使用,其中一个是它用于在少数 android 应用程序中作为 webview 加载,我如何确保每次加载 webview 时它都会加载最新版本(否缓存)而不对应用设置进行任何更改。

【问题讨论】:

    标签: android html css webview header


    【解决方案1】:

    你可以试试这样的:

    WebView webview = new WebView(this);     
    webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
    

    查看更多here

    【讨论】:

      【解决方案2】:

      当 WebView 每次完成一个页面时,清除缓存。在你的 WebViewClient 中是这样的:

      @Override
      public void onPageFinished(WebView view, String url) {
         super.onPageFinished(view, url);
         view.clearCache(true);
      }
      

      【讨论】:

      • 感谢@Masum 回答这个问题,但我的问题是我只能控制 HTML 文件的内容我无法控制 webview 客户端及其设置,有什么可以在 HTML 模板中添加的吗这将覆盖 webview 缓存设置。
      【解决方案3】:

      在创建您的WebView 之后,在加载任何页面之前,您可以清除缓存。

      browser.clearCache(true);
      

      另一种方法是覆盖每次加载页面时调用的onPageFinished(),这样您就可以清除其中的缓存。

      @Override
      public void onPageFinished(WebView view, String url) {
          super.onPageFinished(view, url);
          view.clearCache(true);
      }
      

      【讨论】:

        猜你喜欢
        • 2017-01-12
        • 2017-02-28
        • 2017-03-31
        • 2012-07-01
        • 2012-09-26
        • 2011-04-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多