В моем приложении есть несколько действий. Все они используют MySingleton
для чтения и хранения некоторых данных.Когда сохранять состояние модели?
- Состояние одного синглета загружается из файла при первом доступе.
- Состояние часто меняется.
- Состояние не так мало (~ 1 МБ).
- Этот синглтон является чем-то вроде модели для моего приложения.
Итак, я хочу сохранить его в файле только тогда, когда больше изменений не произойдет - после прекращения всех действий. Как мне это сделать?
Вы не должны делать это «после прекращения всех действий», так как у вас нет контроля над этим. Вы должны делать это в 'onPause()' в каждом действии, так как вы понятия не имеете, будет ли ваше приложение убито, когда оно перейдет на задний план. Несколько часов назад была аналогичная дискуссия. Просто код в соответствии с жизненным циклом деятельности и не делайте предположений, и все будет круто. – Simon
@Simon нормально, но как насчет размера 20 МБ? Рекомендации для Android-подсказок, чтобы избежать выполнения тяжелых операций во время onPause() и использовать для этого onStop(). С другой стороны, как вы сказали, нет никаких гарантий, которые будут вызывать onStop(). – Jofsey
Правильно, 'onStop()' не может быть использован. Но, что же вы сохраняете как «состояние», которое занимает 20 МБ? – Simon