Android SharedPreferences 或 SQLite 存储

Lau*_*ura 2 database sqlite android sharedpreferences

我有个问题。在我的项目中,我有一些用户首选项存储在 SQL 数据库中。该表有大约 200 条记录,有 3 列。此记录不会更改,仅当用户更改并再次下载数据时。我想将它们放在 SharedPreferences 中,因为这样操作代码会更容易。现在的情况是有点困难,因为我使查询异步。现在,我的问题是:SharedPrefences 的记录数量是否太大?或者存放在那里应该没有问题?

Ron*_*hta 5

共享偏好设置:

所有共享首选项都存储在 /data/data/[package name]/shared_prefs/[app name].xml 中,所以我认为基于结构没有限制。

共享首选项只不过是一个包含两列的简单表格。(核心价值)。

根据本文档, 共享首选项大小为8192 个字符: http://developer.android.com/reference/java/util/prefs/Preferences.html#MAX_VALUE_LENGTH

优点:

  • 快速检索
  • 易于理解和编程

缺点

  • 如果我们存储大量值,维护密钥就会很困难。
  • 用户可以随时清除它。

数据库:

当我们要存储大量具有复杂结构的值时,我们只剩下一个很好的解决方案,即。D B。

优点

  • 我们可以维护数据的结构。
  • Android 有漂亮且简单的 API 来处理 sqlite 操作。

缺点

与共享首选项相比,操作有点慢。用户可以随时清除它。

参考