ViewModelを使用してアクティビティやフラグメントの状態を保持し、savedInstanceStateバンドルで保存することとの違いを理解しようとしています。アーキテクチャコンポーネントViewModelとsavedInstanceStateバンドル
構成変更のような場合に、アクティビティ/フラグメントがosによって破棄されたときにViewModelインスタンスがアクティブに保たれているという印象を得ました。これにより、アクティビティ/フラグメントがまだ有効なViewModelインスタンス。
アプリを最小限に抑えて再度開いても問題ありませんか?
いくつかのテストは、アプリケーションを最小限に抑えて、アプリケーションを再オープンしているようですが、onSaveInstanceStae()が呼び出されたときに保存されたものではなく、onCreate() 。しかし、ViewModelはクリアされているので、新しいインスタンスは以前のもののデータなしで作成されます。
この場合、osは保存されたインスタンスの状態を取得してactivity/fragmentのonCreate()に渡すことはできますが、ViewModelは以前のインスタンスのデータを持たない新しいインスタンスである必要があります。インスタンスを横切るデータを格納/復元するためにいくつかの追加ステップが必要ですか?
https://developer.android.com/topic/libraries/architecture/viewmodel.html#viewmodel_vs_savedinstancestate – vlazzle