在 Android 中预加载网页(使用 WebView?)
Posted
技术标签:
【中文标题】在 Android 中预加载网页(使用 WebView?)【英文标题】:Preloading web page in Android (using WebView?) 【发布时间】:2013-02-02 04:12:28 【问题描述】:我想在 android 中预加载一个网页。网页包含文本和图形元素。网页将在未来显示在尚未创建的 Activity 中。
据我了解,例如 WebView 必须与 Activity 绑定,因此无法将 WebView 用于此任务。
有人有任何不涉及解析 html 页面和“手动”下载所有元素的建议吗?
【问题讨论】:
【参考方案1】:根据 android 的文档:出于明显的安全原因,您的应用程序有自己的缓存、cookie 存储等——它不共享浏览器应用程序的数据。
因此,我们可以通过以下方式巧妙地利用上述信息:
每当您想开始加载您的网站时,请创建一个新的 WebView 对象并从中请求 url。代码将如下所示:
WebView view = new WebView(context);
view.loadUrl(myBigWebSite);
Android 将缓存该 webview 数据,当您从另一个活动请求 loadUrl 时,它应该已经加载。
// in your WebView activity
myWebView.loadUrl(myBigWebSite);
有关 webViews 的更多信息,请访问文档页面:WebView doc
【讨论】:
本地html文件也是这样吗?【参考方案2】:您可以将所有需要的文件(图像等)下载到网络线程上的某个文件夹中,然后使用类似
webview.loadUrl("file:///my_cached_folder/index.html");
如果引用并存在,也将从该文件夹中挑选图像。阅读有关在 webview here 上打开本地文件的信息。
【讨论】:
以上是关于在 Android 中预加载网页(使用 WebView?)的主要内容,如果未能解决你的问题,请参考以下文章