問題は、私が Android の開発を学び始めたとき、内部データを専用クラス内の public static 変数に保存することだけを考えていたので、どのアクティビティからでも簡単にアクセスできるようになりました。重複がないことが非常に重要であり、これらの値は常に一意であり、Singleton モデルのようなものです。これは非常にうまく機能していますが、確かに最も美しいソリューションではありません。ユーザーがホームボタンを介してアプリケーションをバックグラウンドにすると、問題が発生します。神は、何分、何日、またはそれ以上の時間を知っているので、そこに残ります...その後、彼はアプリケーションを再度開き、システムがすでにそれらを破棄したため、これらの静的変数はすべてnullになりました。これらの変数の一部は単純な文字列ですが、一部は非常に複雑な独自のクラスです。
最初の質問は、アプリがバックグラウンドに移行したときに、これらのデータを保存できる、信頼できるグローバル フックがあるかどうかです。したがって、ユーザーがアプリを再びフォアグラウンドに移動すると、保存された状態からこれらの変数を再初期化することができます。
2 番目の質問は、これらの複雑なデータを保存する最善の方法は何かということです。私が理解している限りでは、文字列を保存するための SharedPreferences は問題ありませんが、より複雑なクラスはどうでしょうか? SharedPreferences も使用できますか、それとも他のものを使用する必要がありますか?
今のところ、私が考えることができるのはこれだけです。事前に助けてくれてありがとう!