Хорошо ли продолжать обновлять базу данных комнаты с каждым действием или делать это в конце? - PullRequest
0 голосов
/ 28 октября 2019

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

Каковы плюсы и минусы обоих вариантов.

Есть ли лучший способ, чем это?

Ответы [ 3 ]

1 голос
/ 02 ноября 2019

ИМХО одна важная вещь - никогда не предполагать, что пользователи просто остаются в одном приложении более 5 минут. Они переключатся на другое приложение или заблокируют экран, затем покинут ваше приложение на 30 минут и потребуют точно такой же экран, когда вернутся к вашему приложению. Если активность уже очищена ОС, то ... остальное вы знаете.

Так что я определенно остановлюсь на первом подходе (обновляйте БД для каждого действия).

1 голос
/ 05 ноября 2019

Лучше всего обновлять базу данных при каждом изменении. Если вы беспокоитесь о производительности, это не оказывает заметного влияния на производительность вашего приложения. В приложениях с сотнями транзакций базы данных в секунду, таких как многокомпонентные менеджеры загрузки, возможно, это влияет на загрузку процессора и диска, но ваша задача - снизить скорость работы. Хотя вы можете использовать метод onStop() для сохранения данных в базе данных перед выходом пользователя на основе документа Android , но в вашем случае эта работа неэффективна, и Android не гарантирует вызов onStop в любой ситуации.

1 голос
/ 01 ноября 2019

На мой взгляд, вы должны обновлять его при каждом действии. Похоже, таким образом Google Keep работает для обеспечения синхронизации с сервером. И вы должны учитывать, что ваше приложение может быть закрыто без вызова даже onPause (например, из-за сбоя системы), поэтому этот подход более безопасен. Поэтому я не вижу никаких недостатков в обновлении базы данных при каждом действии.

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