【问题标题】:How to improve Android WebView performance?如何提高 Android WebView 性能?
【发布时间】:2012-06-25 12:58:21
【问题描述】:

我正在构建一个应用程序来加载存储在我的 android 设备上的 HTML 文件。这些文件通常非常大(例如 6MB)。如果我加载这些 HTML 文件,显示它们需要很长时间(20 到 25 秒)。谁能给我一些关于如何改善这个加载时间的建议? 到目前为止我尝试过的代码:

final WebView webView = (WebView) findViewById(R.id.webView1);
webView.loadUrl("file:///android_asset/content.html");
webView.getSettings().setCacheMode(<all cache modes>)

我在 android 2.3 和 4.0 上试过这个,Android 4.0 的性能实际上比 2.3 差。

关于如何提高性能的任何提示?

【问题讨论】:

  • 您正在加载图像吗?改进您的 HTML 文件以加快加载速度。
  • 你能发布 content.html 吗?如果它从网络调用链接肯定会减慢速度。此外,您可能想看看利用 loadData 或 loadDataWithBaseURL。 developer.android.com/reference/android/webkit/…
  • @slybloty 是的,HTML 中也有图像。任何提示如何加快/改善加载?由于受版权保护的内容,更改 HTMl 应该是不得已的措施,但如果没有其他方法,那么我会尝试...任何提示如何实现这一点?
  • @MikeIsrael 抱歉,但由于版权原因,我不允许发布这些内容文件,但是所有内容都在我的设备上可用,因此不需要网络访问...

标签: android performance webview android-webview


【解决方案1】:

真正的广泛讨论。您可能需要更具体。就这样吧……

  1. 总体上加快您的网页速度 -- http://developer.yahoo.com/performance/rules.html

  2. 如果一次加载多个文件异步加载--http://developer.android.com/reference/android/os/AsyncTask.html

  3. 尽可能最小化图片或最后加载图片

  4. public void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) 并将其缓存以供以后使用以更快地加载第二次或第三次

【讨论】:

    【解决方案2】:

    好的,试试 loadData 方法吧,可能会快一点。

    String summary;
    
    ...//convert your file to a string and store in summary variable
    
    webview.loadData(summary, "text/html", null);
    

    【讨论】:

      猜你喜欢
      • 2012-12-16
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 2023-03-24
      相关资源
      最近更新 更多