WebView在android中加载缓慢?
Posted
技术标签:
【中文标题】WebView在android中加载缓慢?【英文标题】:WebView Loads slowly in 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 文本。
【问题讨论】:
【参考方案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(..)做什么?请详细解释为什么需要它。 让我们continue this discussion in chat 你好 webview 加载非常快..但是背景图片丢失了.. wat to do以上是关于WebView在android中加载缓慢?的主要内容,如果未能解决你的问题,请参考以下文章
Android Webview 不会在 webview 中加载我的 FPDF 链接