Как правильно хранить постоянные данные приложения перед выходом?

1

У меня есть одно приложение Activity с контейнером данных, который заполняется при запуске приложения из частного текстового файла в формате JSON. При выходе из приложения, будь то изящный выход или принудительный, данные должны быть записаны обратно в текстовый файл.

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

Теперь я перезаписал следующие методы, чтобы убедиться, что данные хранятся при выходе:

protected void onStop() {
    persistenceManager.storeIfChanged();
    super.onStop();
}

protected void onPause() {
    persistenceManager.storeIfChanged();
    super.onPause();
}

Методы storeIfChanged записывают данные приложения в текстовый файл, если он изменился с момента последнего сохранения. Мой вопрос, гарантирует ли это, что данные приложения сохраняются независимо от того, как приложение прекращается (если это не форс-мажор). Во-вторых,, излишне делать сохранение как в onStop, так и onPause?

Теги:

1 ответ

3
Лучший ответ

Да, сохранение данных в onPause является рекомендуемым способом. Данные всегда будут сохранены, если приложение не будет принудительно закрыто.

Вызов его в onPause достаточно, onPause всегда вызывается до onStop.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню