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

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

2 ответа

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

Это вообще хорошая идея.

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

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

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

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

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

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

Другие вопросы по тегам