Наилучшая практика обработки данных, которые должны сохраняться вне жизненного цикла активности в Android? - PullRequest
0 голосов
/ 10 октября 2018

Когда я просматриваю документацию о передовых методах архитектуры приложений Android, все рекомендованные архитектуры (MVVM, MVP и т. Д.), Похоже, связывают модели данных с жизненным циклом представления.Представление содержит ссылку на модель представления / презентатора, которая содержит ссылку на модель, поэтому, когда представление исчезает, данные исчезают.Но у меня есть данные, которые мне нужно сохранить, пока мое приложение открыто.

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

Есть ли лучший Android?как управлять такими постоянными данными?

1 Ответ

0 голосов
/ 11 октября 2018

На мой взгляд, лучший способ сохранить состояние приложения при изменении конфигурации - сохранить модель данных в памяти.

Таким образом, вы разрешаете повторное создание действия, но ведущийviewmodel должен быть сохранен.

В случае AAC это уже реализовано (ViewModelStore), оно также реализовано в некоторых средах MVP (например, Moxy), или вы можете реализовать его вручную с помощью local-singleton в вашем DI.

Возможно, мой ответ - именно то, что хотел сказать @Gabe Sechan.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...