Конфликт приложений Android когда-либо разрушается?

Я использую приложение для Android-приложений Контекст как область хранения для информации о текущем состоянии для моего приложения.

Я нахожу, что в этой области есть случаи, когда эта информация уходит на некоторые устройства, вызывающие различные NullPointerExceptions, так как я ожидаю, что данные будут там, когда приложение возобновится и начнет восстанавливать необходимые действия.

Обычно это происходит, когда пользователь нажимает "Home", делает что-то еще, а затем в конце концов возвращается в приложение - он пытается вернуться туда, где он был раньше, но приложение Context загадочно потеряло все ранее сохраненные состояния (в моем случае несколько целых чисел и несколько строк).

Я знаю, что это очень неопределенный вопрос, но есть ли какие-либо случаи (кроме того, что пользователь использует "назад" полностью назад из приложения), где приложение Context полностью уничтожается, даже если приложение не завершено?

Есть ли лучший способ поддерживать постоянную информацию о состоянии?

Ответ 1

Да, приложение может быть убито и перезапущено, если пользователь некоторое время покидает приложение. Вы можете прочитать этот раздел в процессах и жизненных циклах.

Вы должны найти подходящее место для сохранения состояния в постоянном хранилище. Если его всего несколько целых чисел и строк, их изменение должно быть довольно простым, если они меняются. См. хранилище данных - общие настройки.