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

时间:2011-02-05 21:14:57

标签: android storage lifecycle

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

1 个答案:

答案 0 :(得分:26)

脱离我的头顶:

<强> SharedPreferences:

临:

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

缺点:

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

<强> SQLite的:

临:

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

缺点:

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