【问题标题】:Preloading web page in Android (using WebView?)在 Android 中预加载网页(使用 WebView?)
【发布时间】:2013-02-02 04:12:28
【问题描述】:

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

据我了解,例如 WebView 必须与 Activity 绑定,因此无法将 WebView 用于此任务。

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

【问题讨论】:

    标签: android android-activity webview android-webview


    【解决方案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 上打开本地文件的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-22
      • 2014-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多