У меня есть куча пользовательских настроек, которые сохраняются в одноэлементном объекте в моем приложении.Пример модели выглядит следующим образом -
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()
также вызывается каждый раз, когда я сам создаю новое действие, и, кажется, расточительно резервировать все GlobalVariables только для восстановления их в методе onStart()
следующего действия.Есть ли способ определить, все ли приложение перешло в фон?Если нет, когда вы на самом деле сохраните все свои глобалы?
Спасибо,Тея.