自定义WebView加载数据很慢
我正在开发一个应用程序,我正在从网络视图中的外部网址加载网页。页面加载需要花费大量时间。如果我在 android 的本机浏览器中打开相同的 url,加载绝对没问题,但在我的自定义 webview 中性能非常糟糕。
这是我的 customWebView Activity 的 onCreate 方法。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_web_view);
String uri = getIntent().getExtras().getString("uri");
webView = (WebView) findViewById(R.id.cus_webview);
dialog = ProgressDialog.show(CustomeWebViewActivity.this, "", "Loading. Please wait...", true, true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
webView.getSettings().setPluginsEnabled(false);
webView.getSettings().setSupportMultipleWindows(false);
webView.getSettings().setSupportZoom(false);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSavePassword(false);
webView.setVerticalScrollBarEnabled(false);
webView.setHorizontalScrollBarEnabled(false);
webView.setWebChromeClient(new MyWebChromeClient());
webView.clearCache(true);
webView.clearHistory();
webView.loadUrl(uri);
webView.setWebViewClient(new MyWebView());
}
我可以做些什么来通过自定义网页视图减少网页的加载时间。请您提供任何帮助,我们将不胜感激。
I am working on an application where i am loading a webpage from a an external url in a webview. The page loading takes a lot of time. If i open the same url in android's native browser that loads absolutely fine, but the performance is really bad in my custom webview.
here is the onCreate method of my customWebView Activity.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_web_view);
String uri = getIntent().getExtras().getString("uri");
webView = (WebView) findViewById(R.id.cus_webview);
dialog = ProgressDialog.show(CustomeWebViewActivity.this, "", "Loading. Please wait...", true, true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
webView.getSettings().setPluginsEnabled(false);
webView.getSettings().setSupportMultipleWindows(false);
webView.getSettings().setSupportZoom(false);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSavePassword(false);
webView.setVerticalScrollBarEnabled(false);
webView.setHorizontalScrollBarEnabled(false);
webView.setWebChromeClient(new MyWebChromeClient());
webView.clearCache(true);
webView.clearHistory();
webView.loadUrl(uri);
webView.setWebViewClient(new MyWebView());
}
Is there anything i can do to reduce the loading time of webpage through my custom web view. please, any help is appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您也可以尝试这些
和条件检查。
还可以在 Menifest.xml 文件中设置 hardwareAccelerated="true"
从 SO 的多个答案中取出,但它有所帮助。
You can also try these
and a conditional check.
and can also set hardwareAccelerated="true" in Menifest.xml file
Taken out from multiple answers on SO but it helped.
删除这两行:
加载速度会更快。
您可以在页面加载后执行此操作,它会在用户注意到的情况下将其全部删除,尽管它可能会产生一些奇怪的行为。您可以在另一个线程或其他方法中删除它。
Remove these two lines:
and it will load faster.
You could do this after your page has loaded, and it will remove it all without the user noticing although it may make some odd behaviour. You could remove it in another thread or other method.