Android 添加延迟会导致webview加载重定向url

Android 添加延迟会导致webview加载重定向url,android,webview,android-networking,Android,Webview,Android Networking,我有一个网络视图,注意到以下几点: @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { try { Thread.sleep(5000); } catch (Exception e) { } super.onPageStarted(view, url, favicon);

我有一个网络视图,注意到以下几点:

@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将加载重定向URL,尽管由于
shouldOverrideUrlLoading
返回true而进入if分支。
为什么会这样?我真的不明白webview内部如何工作。

我之所以有这种睡眠是因为我试图通过调试器,并添加了延迟来帮助我捕获线程。我当然不需要。但我对这种行为感到惊讶

您应该更好地解释您的目标,但基本上WebView使用自己的线程“WebCore”,与UI线程无关。我不知道PageStart上的线程调用是什么,可以是UI或WebView的。只需生成一个异常并打印堆栈跟踪,以查看您暂停的哪个线程与WebView的正常行为相冲突。@rupps:我需要的是在重定向时不加载视图。好吧,我粘贴的代码是正确的选择,但是当引入伪代码/无用代码/仅用于调试流延迟时,我很惊讶会发生什么