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

时间:2013-02-17 18:08:39

标签: android android-activity webview android-webview

我想在Android中预加载网页。该网页包含文本和图形元素。该网页将来会在尚未创建的活动中显示。

据我所知,例如WebView必须绑定到Activity,因此无法使用WebView执行此任务。

任何人都有任何建议,不涉及解析html页面并“手动”下载所有元素?

2 个答案:

答案 0 :(得分:13)

根据android的文档:出于明显的安全原因,您的应用程序有自己的缓存,cookie存储等 - 它不共享浏览器应用程序的数据。

因此,我们可以通过以下方式巧妙地利用上述信息:

  • 每当您想要开始加载您的网站时,请创建一个新的WebView对象并从中请求该URL。代码看起来像这样:

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

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

有关webView的更多信息,请访问文档页面:WebView doc

答案 1 :(得分:2)

您可以将所有必需的文件(图像等)下载到网络线程上的某个文件夹中,然后使用类似

的内容
webview.loadUrl("file:///my_cached_folder/index.html");

如果引用并存在,也将从此文件夹中选取图像。阅读有关在webview here上打开本地文件的信息。