Нужны ли фоновые потоки, если я храню и получаю данные локально?
Я создаю простое приложение со списком задач, которое хранит и извлекает задачи из общих настроек, используя библиотеку Gson. На данный момент нет никаких заметных задержек или сбоев, поэтому мне интересно, нужно ли это или может стать необходимым в какой-то момент. Например, если я решу переключиться на другой локальный источник данных, такой как SQLite или Room, станет ли это необходимым?
2 ответа
Нужны ли фоновые потоки, если я храню и получаю данные локально на Android?
Это вообще хорошая идея.
Я создаю простое приложение со списком задач, которое хранит и извлекает задачи из общих настроек, используя библиотеку Gson.
Если вы используете apply()
на ваше SharedPreferences.Editor
чтобы сохранить ваши изменения, он выполняет работу в фоновом потоке для вас.
Я решил переключиться на другой локальный источник данных, такой как SQLite или Room, станет ли это необходимым?
"Необходимый" - это сильный термин. Если вы планируете распространять приложение, было бы неплохо использовать фоновые потоки. Это могут быть потоки, которые вы создаете, или потоки, которые создает что-то другое (например, Room, RxJava), может отличаться.
Если вы имеете в виду SQLITE локально. ответ - ДА.
если вы используете необработанные запросы sqlite, компилятор разрешит вам делать запросы в потоке пользовательского интерфейса, хотя это не является хорошей практикой и может привести к зависанию потока пользовательского интерфейса, что ухудшит производительность вашего приложения, но если вы используете "ROOM", Компилятор выдаст ошибку, если вы попытаетесь выполнить операцию с базой данных из потока пользовательского интерфейса. так