Nav*_*oid 2 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);
Run Code Online (Sandbox Code Playgroud)
但它仍然挂起.我怎样才能加快速度?请帮助?
更新:
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","");
}
Run Code Online (Sandbox Code Playgroud)
我在按下按钮时使用此方法.integralParse.htmlParse()方法返回一个html文本.
您正在正确处理webView导航吗?在官方文档上查看本教程:
https://developer.android.com/guide/webapps/webview.html#HandlingNavigation
如果您只是使用loadData(),那么您可以尝试在清单文件中设置硬件加速,如下所示:
android:hardwareAccelerated="true"
Run Code Online (Sandbox Code Playgroud)
在应用程序级别添加它,即在AndroidManifest.xml文件的标记中添加它
在此之后,它真的取决于您的设备.如果你有一个高端设备,图像将很快呈现,否则他们将花费时间,因为webView使用webkit硬件加速,这取决于你的设备配置.
如果你仍然需要速度,你可以尝试制作一个没有webview的完全原生的应用程序.一切都会像黄油一样光滑.没有webkit,没有HTML和更好的控制.
祝好运 :-)
| 归档时间: |
|
| 查看次数: |
5989 次 |
| 最近记录: |