【问题标题】:WebView Loads slowly in android?WebView在android中加载缓慢?
【发布时间】:2012-09-26 05:53:46
【问题描述】:

我正在开发应用程序中的 webView,其中 webview 加载的内容在按下按钮时会发生变化(两个按钮 next 和 previous ,它们只是更改 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 文本。

【问题讨论】:

    标签: android caching webview


    【解决方案1】:

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

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

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

    android:hardwareAccelerated="true"
    

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

    在这一点之后,它真的取决于你的设备。如果您有高端设备,图像将快速渲染,否则将需要时间,因为 webView 使用 webkit 硬件加速,这取决于您的设备配置。

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

    祝你好运:-)

    【讨论】:

    • 我没有使用这样的导航.. 我只是使用 loadData() 方法,数据来自数据库表
    • 在您使用 loadData() 的地方发布您的代码,从 db 获取数据并处理按钮的点击
    • 你用integralParse.htmlParse(..)做什么?请详细解释为什么需要它。
    • 你好 webview 加载非常快..但是背景图片丢失了.. wat to do
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 2017-01-16
    • 2021-07-03
    • 1970-01-01
    • 2012-08-30
    • 2012-07-01
    相关资源
    最近更新 更多