Activityが破棄されない限り、WebViewにロードしている内容は保持される・・・。
しかし、例えば端末を回転させると、Activityは一旦破棄されて、onCreateが再び呼ばれる・・・。
すると、それまでロードしていたページはなかったことになり、新たに真っ白なページが表示されるようになってしまう・・・。
ここで端末を横にすると、
こうなってしまう・・・。
そこでロードしていたページの状態をいったん保存し、onCreateが呼ばれた時に復元するようにする・・・。
回転させると、onSaveInstanceStateが呼ばれるので、ここでwebView.saveStateで引数のBundleオブジェクトoutStateにwebViewの状態を保存する・・・。
onCreateでsavedInstanceStateがnullでなければ、webView.restoreStateで引数のsavedInstanceStateの内容をwebViewに復元する・・・。
これで表示しているページは一応消えない・・・。
ただし、CustomWebViewClientや、CustomWebChromeClientの内容は保存されない模様・・・。
もし、onCreateで再度これをセットしないと、Chromeを起動する問題や、プログレスバーが表示されない問題などが再発してしまう・・・。
ここで回転すると、
ページは表示されているし、スクロールの位置もズレてはいるけど、だいたい同じ・・・。
ただ、見てわかるように、プログレスバーが表示されている・・・。
そのまま復元というより、リロードしてスクロール位置を合わせてる感じ・・・。
https://github.com/bg1bgst333/Zinc/tree/develop/android/empty_activity/android_studio/src/Zinc