我有一堆用户偏好,它们保存在我的应用程序的单例对象中。示例模型如下所示 -
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()
方法中,我在呈现活动之前检查用户是否已登录)。
onPause()
我的问题是,Android 文档似乎建议我在我的方法中备份任何与上下文相关的数据。但是onPause()
每次我自己创建一个新活动时也会被调用,备份所有 GlobalVariables 似乎很浪费,只是在下一个活动的onStart()
方法中恢复它们。有没有办法确定整个应用程序是否已经进入后台?如果没有,你什么时候真正保存你所有的 Globals?
谢谢,
泰加。