2011-02-05 80 views
11

对于数据的持久存储,使用SQLlite数据库比SharedPreferences有什么明显的优势,反之亦然?目前我的应用程序数据只有几千字节,但未来可能会增长到十倍。我无法找到使用SharedPreferences存储多少存储空间的任何地方,但可以想象这会是使用它的一个限制吗?这两种方法的速度有什么不同?我期待衡量这两种存储方法的优缺点。用于永久性数据存储的SQLite或SharedPreferences?

回答

26

关闭我的头顶:

SharedPreferences:

临:

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

缺点:

  • 有大量数据的时候慢
  • 当数据不是简单的键/值更没有帮助恋情
  • 整个文件需要被读取和解析以访问数据
  • 占用更多空间,每个条目都有相当数量的ASCII数据,并且所有的数据itsel f也是ASCII。

SQLite的:

临:

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

缺点:

  • 更多的代码编写
  • 更多重量级(代码和内存),矫枉过正与数据
+0

一点点处理我在哪里可以找到sharefprefs更加信息时,处理大量数据时速度慢,需要解析整个文件才能访问数据?我认为我们遇到了这个问题,并且试图理解系统是如何工作的(计划转移到SQLite)。 – 2013-07-25 23:11:57