SQLite или SharedPreferences для постоянного хранения данных?

Для постоянного хранения данных существует ли какое-либо преимущество использования базы данных SQLlite поверх SharedPreferences или наоборот? В настоящее время мои данные приложения составляют всего пару килобайт, хотя в будущем он может увеличиться в десять раз. Я не могу найти нигде, где указано, сколько хранилища доступно с помощью SharedPreferences, но представляло бы, что это будет одним из ограничений его использования? Есть ли разница в скорости между двумя методами? Я ищу, чтобы взвесить плюсы и минусы этих двух методов хранения.

Solutions Collecting From Web of "SQLite или SharedPreferences для постоянного хранения данных?"

С верхней части моей головы:

SharedPreferences:

Pro:

  • облегченный
  • Быстрая и простая в использовании
  • Легко отлаживать
  • Файл конфигурации можно редактировать вручную, если это необходимо.

Против:

  • Медленная работа с большим количеством данных
  • Не полезно, когда данные больше, чем просто дело с ключом / ценностью
  • Весь файл должен быть прочитан и проанализирован для доступа к данным
  • Занимает больше места, каждая запись содержит значительное количество ASCII-данных, и все данные сами по себе являются ASCII.

SQLite:

Pro:

  • Весы прекрасно
  • Изменения не требуют перезаписи всего файла данных с нуля
  • Мощные запросы

Против:

  • Больше кода для написания
  • Больше тяжеловесов (код и память), излишний при работе с небольшим количеством данных