用于持久数据存储的SQLite或SharedPreferences?

Rok*_*Rok 11 lifecycle storage android

对于数据的持久存储,使用SQLlite数据库而不是SharedPreferences有什么明显的优势,反之亦然?目前我的应用程序数据只有几千字节,但可能会在未来增加到这么大的十倍.我无法找到任何说明使用SharedPreferences可用存储量的地方,但是可以想象这将是使用它的一个限制吗?这两种方法的速度有什么不同吗?我想要权衡这两种存储方法的优缺点.

Ebo*_*ike 26

脱离我的头顶:

SharedPreferences:

优点:

  • 轻量级
  • 快速且易于使用
  • 易于调试
  • 如果需要,可以手动编辑配置文件

缺点:

  • 处理大量数据时速度很慢
  • 当数据不仅仅是一个简单的键/值事件时没用
  • 需要读取和解析整个文件以访问数据
  • 占用更多空间,每个条目周围都有大量的ASCII数据,所有数据本身也是ASCII.

SQLite的:

优点:

  • 很好地扩展
  • 更改不需要从头开始重写整个数据文件
  • 强大的查询

缺点:

  • 要编写更多代码
  • 更重量级(代码和内存),在处理一点点数据时过度杀伤