When is `shouldOverrideUrlLoading` method called?

```
webView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {

    }
});

```

1. Is it called during initial loading of url? e.g. `webView.loadUrl( "file:///android_asset/html/index.html");`
2. Is it called everytime URL of webview changes?

Any reference? I didn't find one. Thanks