Нужны ли фоновые потоки, если я храню и получаю данные локально? - PullRequest
0 голосов
/ 19 февраля 2019

Я создаю простое приложение со списком задач, которое сохраняет и извлекает задачи из общих настроек, используя библиотеку Gson.На данный момент нет никаких заметных задержек или сбоев, поэтому мне интересно, нужно ли это или может стать необходимым в какой-то момент.Например, если я решу переключиться на другой локальный источник данных, например SQLite или Room, это станет необходимым?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

если вы подразумеваете SQLITE локально. Ответ - ДА.

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

0 голосов
/ 19 февраля 2019

Нужны ли фоновые потоки, если я храню и получаю данные локально на Android?

Как правило, это хорошая идея.

Я создаюпростое приложение со списком задач, которое сохраняет и извлекает задачи из общих настроек, используя библиотеку Gson.

Если вы используете apply() на своем SharedPreferences.Editor для сохранения изменений, оно выполняет работу надфоновый поток для вас.

Я решу переключиться на другой локальный источник данных, например SQLite или Room, если это станет необходимым?

«Необходимый» - это сильный термин.Если вы планируете распространять приложение, было бы неплохо использовать фоновые потоки.Будь то потоки, которые вы создаете, или потоки, которые создает что-то другое (например, Room, RxJava), может отличаться.

...