webview有时候加载不出网页,页面关掉再打开也不行,显示一片空白。放着不动,过一会,反而能打开网页。
当加载不出的时候,发现根本没有发起请求。
有大神知道原因吗?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
WebView這個控件作為Android系統中很重要的一個控件,其不會出現樓主所說的情況的。樓主可能看到的是表面顯示。 WebView这个控件作为Android系统中很重要的一个控件,其不会出现楼主所说的情况的。楼主可能看到的是表面显示。
WebView
Android
当调用WebView的loadUrl(String url)之后,WebView就开始加载网页了,但是在没有加载出来的时候,它会仍然显示着其原有的白色背景,加载出来后才会显示网页。这可能是你说的显示一片空白,然后过一会才能打开网页。其实一直都在加载,只是加载比较慢,你看不出来有变化而已。
loadUrl(String url)
楼主可以使用WebView.setWebViewClient,传入一个自定义的WebViewClient。同样还有WebView.setWebChromeClient。覆写其中一些函数:
WebView.setWebViewClient
WebViewClient
WebView.setWebChromeClient
webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { //页面开始加载 } @Override public void onPageFinished(WebView view, String url) { //页面加载完毕 } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { //加载出现失败 super.onReceivedError(view, errorCode, description, failingUrl); } }); webView.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { //加载过程回调,progress是接受到的数据的百分比 } });
楼主如果对WebView进行如上的配置,然后在loadUrl(String url),就能看到这些函数的回调了。问题里的内容都可以从Log
Log
1、這樣的情況,我昨天真的遇到了2、分析原因:A.建議樓主用charles抓包看看
B.我的原因:加载url的时候,一下子激增了ajax请求与图片请求 C.我的解决方法:让前端的同学做一下分页加载以及懒加载,不要在打开url的瞬间发出那么多请求
確實是這樣的,我也遇到過,發現不調用wv_viewerweb.removeAllViews();// wv_viewerweb.destroy();// wv_viewerweb = null;這個就不會有這問題
問題解決了嗎? ? ?我也掉坑裡了,求大神的解決方法..............
WebView
這個控件作為Android
系統中很重要的一個控件,其不會出現樓主所說的情況的。樓主可能看到的是表面顯示。WebView
这个控件作为Android
系统中很重要的一个控件,其不会出现楼主所说的情况的。楼主可能看到的是表面显示。当调用
WebView
的loadUrl(String url)
之后,WebView
就开始加载网页了,但是在没有加载出来的时候,它会仍然显示着其原有的白色背景,加载出来后才会显示网页。这可能是你说的显示一片空白,然后过一会才能打开网页。其实一直都在加载,只是加载比较慢,你看不出来有变化而已。楼主可以使用
WebView.setWebViewClient
,传入一个自定义的WebViewClient
。同样还有WebView.setWebChromeClient
。覆写其中一些函数:楼主如果对
當呼叫WebView
进行如上的配置,然后在loadUrl(String url)
,就能看到这些函数的回调了。问题里的内容都可以从Log
WebView
的loadUrl(String url)
之後,WebView
就開始載入網頁了,但是在沒有載入出來的時候,它會仍顯示其原有的白色背景,載入出來後才會顯示網頁。這可能是你說的顯示一片空白,然後過一會兒才能打開網頁。其實一直都在加載,只是加載比較慢,你看不出來有變化而已。 🎜 🎜樓主可以使用WebView.setWebViewClient
,傳入一個自訂的WebViewClient
。同樣還有WebView.setWebChromeClient
。覆寫其中一些函數:🎜 rrreee 🎜樓主如果對WebView
進行如上的配置,然後在loadUrl(String url)
,就能看到這些函數的回呼了。問題裡的內容都可以從Log
裡得到解答。 🎜1、這樣的情況,我昨天真的遇到了
2、分析原因:A.建議樓主用charles抓包看看
確實是這樣的,我也遇到過,發現不調用wv_viewerweb.removeAllViews();
// wv_viewerweb.destroy();
// wv_viewerweb = null;這個就不會有這問題
問題解決了嗎? ? ?我也掉坑裡了,求大神的解決方法..............