Для постоянного хранения данных существует ли какое-либо конкретное преимущество использования базы данных SQLlite поверх SharedPreferences или наоборот? В настоящее время мои данные приложения составляют всего пару килобайт, хотя в будущем это может увеличиться в десять раз. Я не могу найти нигде, где указано, сколько хранилищ доступно с помощью SharedPreferences, но представляло бы, что это будет одно ограничение использования? Есть ли разница в скорости между двумя методами? Я ищу, чтобы взвесить плюсы и минусы этих двух методов хранения.
SQLite или SharedPreferences для постоянного хранения данных?
Ответ 1
Сверху моей головы:
SharedPreferences:
Pro:
- Легкий вес
- Быстрый и простой в использовании
- Легко отлаживать
- Файл конфигурации можно редактировать вручную, если необходимо
Con:
- Медленная работа с большим количеством данных.
- Не полезно, когда данные больше, чем просто дело с ключом/значением.
- Весь файл должен быть прочитан и проанализирован для доступа к данным
- Занимает больше места, каждая запись содержит значительное количество ASCII-данных, а все данные сами по себе также ASCII.
SQLite:
Pro:
- Весы прекрасно
- Изменения не требуют перезаписи всего файла данных с нуля
- Мощные запросы
Con:
- Больше кода для записи
- Больше тяжеловеса (код и память), излишний при работе с небольшим количеством данных.