【问题标题】:Android Webview loading slow for the first timeAndroid Webview第一次加载慢
【发布时间】:2021-07-03 02:40:59
【问题描述】:

我创建了一个库来使用 Webview 启动活动。 我正在尝试加载其中带有 iframe 的本地 HTML 文件每当我开始活动时,第一次它需要大约。 5 秒显示 iframe。第二次大约需要。显示 2 秒。

如何减少首次加载的加载时间?

这里分别是两个java文件。

WebviewOverlay.java

String botUrl = "someurl";
myWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
myWebView.loadUrl(botUrl);
return myWebView;

WebviewActivity.java

wb = new WebviewOverlay();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().add(R.id.container, wb).commit();

【问题讨论】:

  • 第一次在没有缓存的情况下加载整个 webView。第二次从缓存中加载,因此加载时间较短。
  • 有什么我们可以做的,比如预加载缓存@Narendra_Nath
  • 当然。请在下面查看我的答案

标签: android caching webview


【解决方案1】:

这与Android无关,网页有很多数据,或者可能是需要时间的高分辨率图像或页面上的任何脚本在加载时需要时间

【讨论】:

    【解决方案2】:

    您可以使用预缓存来加快网页加载速度。

    1. 从服务器加载数据 (HTML) 并将其保存到我们设备内存中的文本文件中。
    2. 启动协程加载网页并存储在本地存储中
    3. 创建一个新 Activity,我们将在其中创建一个 webview,用于加载这个缓存的网页。
    4. 更改我们 webview 的一些设置以启用对 javascript、domstorage、数据库等的支持。
    5. 将 webclient 附加到我们的 webview
    6. 加载我们之前创建的包含所有缓存的 HTML 的文件并将其加载到 webview

    这里有一个 Github 存储库,它完全可以满足您的需求。

    https://github.com/iambaljeet/WebViewPreCache

    【讨论】:

      【解决方案3】:

      尝试在您的网页中使用优化的图像。从 mspaint 调整大小

      【讨论】:

        猜你喜欢
        • 2015-03-25
        • 2018-04-05
        • 1970-01-01
        • 2019-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-26
        • 1970-01-01
        相关资源
        最近更新 更多