向きの変更時に webview が web ページを再レンダリングするのを避けようとしています。
私のアクティビティは縦向きに固定されていますが、ボタンを 1 回クリックすると、アクティビティの向きが横向きと縦向きに変わります。
アクティビティの向きを変更すると、Web ビューでページのレンダリング/更新に時間がかかります。Web ビューがレンダリングしている Web ページはローカルであり、ページの内容を表示するのにまだ時間がかかり (約 2 ~ 4 秒)、遷移時間に空白の白い画面が表示されます。
次の関数を呼び出して、Web ビューの状態を保存しようとしました。
// Before switching calling
Bundle webViewState;
webViewState = new Bundle();
Webview.saveState(webViewState);
// When switching done then calling.
Webview.restoreState(webViewState);
しかし、android sdk docs で述べたように、アクティビティ サイクルでこれらの関数を呼び出す必要があるonSaveInstanceState
ためonRestoreInstanceState
、アクティビティ サイクルからこれらの関数を呼び出していないため、この場合はクラッシュします。
この場合の回避策/修正方法はありますか?
更新: 私のアプリケーションでは、設定された向きを使用しているため、向きを固定するとこれらの関数が呼び出されないためonSaveInstanceState
、 andを使用できません。onRestoreInstanceState