Что действительно делает stopLoading ()?

Да, я знаю, что документация для stopLoading () говорит: « Останавливает текущую нагрузку ».

Но когда я пытаюсь использовать его для остановки загрузки текущей страницы, прежде чем загружать новую, она, похоже, не ведет себя так, как хотелось бы :

07-24 12:53:30.177: V/WebView.loadUrl: http://www.google.com 07-24 12:53:30.227: V/WebViewClient.onPageStarted: http://www.google.com ===> WebView.stopLoading() called here <==== 07-24 12:53:31.917: V/WebView.loadUrl: http://www.stackoverflow.com 07-24 12:53:32.697: V/WebViewClient.onPageFinished: http://www.google.com 07-24 12:53:32.767: V/WebViewClient.onPageStarted: http://www.stackoverflow.com 07-24 12:53:33.587: V/WebViewClient.onPageFinished: http://www.stackoverflow.com 

Как видно из журнала, WebViewClient.onPageFinished() для первого loadUrl() несмотря на то, что WebView.stopLoading() был вызван примерно на 1 секунду раньше .

Почему это?

Что действительно делает stopLoading () ?

You786 прав:

 public void stopLoading() { checkThread(); // TODO: should we clear all the messages in the queue before sending // STOP_LOADING? switchOutDrawHistory(); mWebViewCore.sendMessage(EventHub.STOP_LOADING); } 

Для этого TODO, которые они отметили в остальных сообщениях, сначала будут обработаны. Так что результаты в том, что мне просто интересно: при остановке нагрузки в

 WebViewClient.onReceivedError(WebView view, int errorCode, String description, String failingUrl) 

WebView на самом деле не останавливается, вместо этого он загружает свою собственную страницу 404 (что бы она обычно делала, если вы не вызываете stopLoading ()):

 11-07 16:30:01.112: I/MainActivity(19189): Loading: http://92.53.45.42 11-07 16:30:01.253: V/MainActivity.WebViewClient(19189): SHOULD_INTERCEPT_REQUEST: http://92.53.45.42/ 11-07 16:30:01.347: V/MainActivity.WebViewClient(19189): PAGE_STARTED: http://92.53.45.42/ 11-07 16:30:01.347: V/MainActivity.WebChromeClient(19189): ON_PROGRESS_CHANGED: 10 11-07 16:30:01.347: V/MainActivity.WebViewClient(19189): LOAD_RESOURCE: http://92.53.45.42/ 11-07 16:30:25.292: I/GATE(19189): <GATE-M>DEV_ACTION_ERROR</GATE-M> 11-07 16:30:25.300: E/MainActivity.WebViewClient(19189): (CONNECT - Failed to connect to the server) -> http://92.53.45.42/ 11-07 16:30:25.300: W/MainActivity.WebViewClient(19189): loading stopped..: 11-07 16:30:25.300: V/MainActivity.WebViewClient(19189): PAGE_STARTED: http://92.53.45.42/ 11-07 16:30:25.300: I/MainActivity.WebViewClient(19189): PAGE_FINISHED: http://92.53.45.42/ 11-07 16:30:25.339: I/MainActivity.WebChromeClient(19189): ON_RECEIVED_TITLE: Webseite nicht verfügbar 11-07 16:30:25.339: V/MainActivity.WebChromeClient(19189): GET_VISITED_HISTORY 11-07 16:30:25.339: I/GATE(19189): <GATE-M>DEV_ACTION_COMPLETED</GATE-M> 11-07 16:30:25.339: V/MainActivity.WebChromeClient(19189): ON_PROGRESS_CHANGED: 100 11-07 16:30:25.339: I/MainActivity.WebViewClient(19189): PAGE_FINISHED: http://92.53.45.42/