在Android中预加载网页(使用WebView?)

18

我希望在安卓中预加载一个网页。该网页包含文本和图形元素。该网页将在未来显示在一个尚未创建的Activity中。

据我了解,例如 WebView 必须绑定到一个 Activity 上,因此无法使用 WebView 完成此任务。

是否有任何建议不涉及解析 HTML 页面并"手动"下载所有元素?

2个回答

25
根据安卓文档:为了明显的安全原因,你的应用有它自己的缓存、cookie存储等——它不会共享浏览器应用的数据。 因此我们可以通过以下方法巧妙地利用这些信息:
  • 每当你想要开始加载你的网站时,创建一个新的WebView对象并从中请求URL。代码看起来像这样:

 WebView view = new WebView(context);
 view.loadUrl(myBigWebSite);
  • Android会缓存该WebView数据,当您从另一个活动请求loadUrl时,它应该已经加载完毕。

  •  // in your WebView activity
     myWebView.loadUrl(myBigWebSite);
    

    了解更多有关webViews的信息,请访问文档页面:WebView文档


    6
    即使对于本地的 HTML 文件也是真实的吗? - Uilque Messias

    1
    您可以将所有所需的文件(图片等)下载到网络线程上的某个文件夹中,然后使用类似以下的内容。
    webview.loadUrl("file:///my_cached_folder/index.html");
    

    如果有引用并且存在,图片也将从此文件夹中选择。在这里阅读有关在webview上打开本地文件的内容。

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接