我有一个webview并注意到以下内容:
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
try {
Thread.sleep(5000);
}
catch (Exception e) {
}
super.onPageStarted(view, url, favicon);
if(shouldOverrideUrlLoading(view, url)) {
webView.loadUrl("javascript:HTML_PARSER.getData" +
"(document.forms[0]);");
webView.stopLoading();
}
}
如果我注释掉睡眠部分,这样可以正常工作
但如果我执行睡眠部分,那么webview会加载重定向网址,但由于shouldOverrideUrlLoading
返回true,我会进入if分支。
为什么会这样?我不太了解webview interals是如何工作的
我有这种睡眠的原因是我试图通过调试器并添加延迟来帮助我抓住线程。我当然不需要它。但我对这种行为感到惊讶