WebView在Android中慢慢加载?

时间:2012-10-05 05:33:29

标签: android caching webview

我正在开发一个应用程序中的webView,其中当按下按钮时webview加载发生变化的内容(下一个和之前的两个按钮,它们只是更改webview中的内容)。但按下3-4次后,它开始挂起,logcat上没有任何打印,按钮保持按下15-20秒,然后下载数据。

我用这些来清除webview.db和缓存: -

context.this.deleteDatabase("webview.db");
context.this.deleteDatabase("webviewCache.db");

webView.getSettings().setRenderPriority(RenderPriority.HIGH);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

但它仍然挂起。我怎样才能加快速度?请帮帮忙?

更新:

   public void setWebView(String QuestionParent,String QuestionNumber)
    {


        WebSettings webSettings = questionWeb.getSettings();

        webSettings.setDefaultFontSize(24);

        questionWeb.getSettings().setRenderPriority(RenderPriority.HIGH);
        questionWeb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);


        questionWeb.loadDataWithBaseURL("",integralParse.htmlParse(questionCode,"mnt/sdcard/faData/"+QuestionParent+"/"+QuestionNumber),"text/html","UTF-8","");
    }

我在按下按钮时使用此方法。 integralParse.htmlParse()方法返回一个html文本。

1 个答案:

答案 0 :(得分:5)

您是否正确处理了webView导航?请参阅官方文档中的本教程:

https://developer.android.com/guide/webapps/webview.html#HandlingNavigation

如果您只是使用loadData(),那么您可以尝试在清单文件中设置硬件加速,如下所示:

android:hardwareAccelerated="true"

在应用程序级别添加它,即在AndroidManifest.xml文件的标记中添加

在此之后,它实际上取决于您的设备。如果你有一个高端设备,图像将很快呈现,否则他们将花费时间,因为webView使用webkit硬件加速,这取决于你的设备配置。

如果你仍然需要速度,你可以尝试制作一个没有webview的完全原生的应用程序。一切都会像黄油一样光滑。没有webkit,没有HTML和更好的控制。

祝你好运: - )