1

アプリケーション全体の状態に関して、POJO シングルトンとアプリケーション クラスのサブクラス化に関する多くの議論を読みました。

状態の保存に関しては、Activity.onSaveInstanceState について学びました。

しかし、Application には実際には Lifecycle メソッドがないため、複数のアクティビティから使用される状態を保存するにはどうすればよいでしょうか?

私の最初のアイデアは、メインのアクティビティで onCreate() と onSaveInstanceState() を使用することでしたが、ユーザーが別のアクティビティにいる間にアプリを一時停止するとどうなりますか? アプリが前面に戻ると、このアクティビティのみが再作成され、メインのアクティビティは再作成されませんよね?

すべてのアクティビティで同じ onSaveInstanceState と onCreate を実行する必要がありますか、それとも別の方法がありますか?

4

1 に答える 1

1

複数のアクティビティから使用される状態を保存するにはどうすればよいですか?

データが変更されたら、永続ストアを更新します。定義上、「複数のアクティビティから使用される」「インスタンス状態」はありません。

私の最初のアイデアは、メインのアクティビティで onCreate() と onSaveInstanceState() を使用することでしたが、ユーザーが別のアクティビティにいる間にアプリを一時停止するとどうなりますか?

最終的に、プロセスは終了します。「インスタンスの状態」 (例: onSaveInstanceState())、状況に応じて後で再度提供される場合があります。絶対に保持する必要があるものはすべてSharedPreferences、通常、過去 60 年間にソフトウェアが作成されてきた方法と同様に、データが変更された時点で、永続ストア (データベース、ファイル) に配置する必要があります。

于 2013-04-19T11:40:44.697 に答える