Нет. Android оставляет за собой право убить любое приложение в любое время, если сочтет это необходимым. Даже процессы переднего плана могут быть убиты , если устройству не хватает памяти. Это означает, что объект Application
будет уничтожен, а все его атрибуты потеряны.
Единственный способ гарантировать, что переходное состояние вашего приложения никогда не будет потеряно, - это должным образом реагировать на события жизненного цикла, предлагаемые Android, или просто сохранять значения постоянно.
Если вы хотите сохранить String
для своего приложения , почему бы не использовать Предпочтения ? Это означает, что значение никогда не будет потеряно, даже если устройство выключено.
private static final String PREFERENCE_MYSTRING = "mystring";
static String getProperty(Context context) {
return PreferenceManager.getDefaultSharedPreferences(context)
.getString(PREFERENCE_MYSTRING, "");
}
static void setProperty(Context context,String value) {
PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.putString(PREFERENCE_MYSTRING, value)
.commit();
}
(Я не совсем уверен, что getter
и setter
есть в вашем примере кода, но я не думаю, что это актуально.)