Для постоянного хранения данных существует ли какое-либо конкретное преимущество использования базы данных SQLlite поверх SharedPreferences или наоборот? В настоящее время мои данные приложения составляют всего пару килобайт, хотя в будущем это может увеличиться в десять раз. Я не могу найти нигде, где указано, сколько хранилищ доступно с помощью SharedPreferences, но представляло бы, что это будет одно ограничение использования? Есть ли разница в скорости между двумя методами? Я ищу, чтобы взвесить плюсы и минусы этих двух методов хранения.SQLite или SharedPreferences для постоянного хранения данных?
11
A
ответ
26
Off верхней части моей головы:
SharedPreferences:
Pro:
- Легкие
- Быстрый и простой в использовании
- Легко отлаживать
- Конфигурационный файл может быть отредактирован вручную при необходимости
Con:
- Slow при работе с большим количеством данных
- Не полезно, когда данные более чем простой ключ/значение Дело
- Весь файл должен быть прочитан и проанализирован для доступа к данным
- Занимает больше места, каждая запись содержит значительное количество ASCII-данных вокруг него, а все данные itel f также является ASCII.
SQLite:
Pro:
- Весы красиво
- Изменения не требуют перезаписи всего файла данных с нуля
- Мощные запросы
Con:
- Больше коды писать
- Более тяжеловеса (код и память), избыточно при работе с небольшим количеством данных
, где я могу найти более подробную информацию о sharefprefs, являющейся медленный при работе с большим количеством данных и весь файл, нуждающийся в анализе доступа к данным? Я думаю, что мы сталкиваемся с этой проблемой, и я пытаюсь понять, как работает система (планирование перехода на SQLite). –