アプリケーションのシングルトン オブジェクトに保存されているユーザー設定がたくさんあります。サンプルモデルは次のようになります -
public class UserContext {
public static final String WEBSRV_IP = "TRIMMED";
public static UserContext instance;
// Contains username, password, if they're valid etc.
private LoginDataModel loginModel;
private ArrayList<FacilityDataModel> model;
private FilterDataModel filters;
private UserContext()
{
}
public UserContext getInstance()
{
if(instance == null) {
instance = new UserContext();
}
return instance;
}
// Getters and setters
}
これで、ユーザーがアプリケーションを使用するときに、一連のアクティビティが作成され、ライフ サイクルを経て、これらの変数を利用して終了します。(たとえば、onStart()
メソッドでは、アクティビティを提示する前にユーザーがログインしているかどうかを確認します)。
私の質問は、Android のドキュメントでは、メソッド内のコンテキスト関連のデータをバックアップするように勧められているようですonPause()
。しかしonPause()
、自分で新しいアクティビティを作成するたびに呼び出され、次のアクティビティのonStart()
メソッドでそれらを復元するためだけに、すべての GlobalVariables をバックアップするのは無駄に思えます。代わりに、アプリケーション全体がバックグラウンドに入ったかどうかを判断する方法はありますか? そうでない場合、実際にすべてのグローバルを保存するのはいつですか?
ありがとう、
テジャ。