Maison > Questions et réponses > le corps du texte
webview有时候加载不出网页,页面关掉再打开也不行,显示一片空白。放着不动,过一会,反而能打开网页。
当加载不出的时候,发现根本没有发起请求。
有大神知道原因吗?
阿神2017-04-17 17:50:28
WebView
Ce contrôle est un contrôle très important dans le système Android
, et il ne provoquera pas la situation mentionnée par l'affiche. Ce que l'affiche originale peut voir, c'est l'affichage en surface.
Lorsque WebView
de loadUrl(String url)
est appelé, WebView
commence à charger la page Web, mais lorsqu'elle n'est pas chargée, elle affichera toujours son fond blanc d'origine. La page Web ne sera affichée qu'après son chargement. . Cela peut signifier que l'écran devient vide et qu'il faut un certain temps avant que la page Web puisse être ouverte. En fait, il se charge toujours, mais il se charge lentement et vous ne voyez aucun changement.
L'hôte peut utiliser WebView.setWebViewClient
pour transmettre un WebViewClient
personnalisé. Aussi WebView.setWebChromeClient
. Remplacez certaines de ces fonctions :
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是接受到的数据的百分比
}
});
Si l'affiche configure WebView
comme ci-dessus, alors dans loadUrl(String url)
, vous pouvez voir les rappels de ces fonctions. Le contenu de la question peut être répondu à partir de Log
.
天蓬老师2017-04-17 17:50:28
1. J'ai vraiment rencontré cette situation hier
2. Analyse des raisons : A. Je suggère à l'affiche d'utiliser Charles pour capturer le paquet
B.我的原因:加载url的时候,一下子激增了ajax请求与图片请求
C.我的解决方法:让前端的同学做一下分页加载以及懒加载,不要在打开url的瞬间发出那么多请求
巴扎黑2017-04-17 17:50:28
C'est effectivement le cas, je l'ai également rencontré, et j'ai constaté que si vous n'appelez pas wv_viewerweb.removeAllViews();
// wv_viewerweb.destroy();
// wv_viewerweb = null this; le problème n'existera pas
ringa_lee2017-04-17 17:50:28
Le problème est-il résolu ? ? ? Je suis aussi tombée dans un piège, s'il vous plaît donnez-moi une solution...