我有一个问题。在我的项目中,我有一些用户首选项存储在 SQL 数据库中。该表有大约 200 条记录,有 3 列。此记录不会更改,仅当用户更改并再次下载数据时。我想将它们放在 SharedPreferences 中,因为这样操作代码会更容易。现在的情况是有点困难,因为我使查询异步。现在,我的问题是:SharedPrefences 的记录数量是否太大?或者说把它们存放在那里应该没有问题?
最佳答案
共享偏好设置:
所有共享首选项都存储在/data/data/[package name]/shared_prefs/[app name].xml 中,所以我认为基于结构没有限制。
共享首选项只不过是一个包含两列的简单表格。 (键,值)。
根据本文档,共享首选项大小 8192 个字符: http://developer.android.com/reference/java/util/prefs/Preferences.html#MAX_VALUE_LENGTH
优点:
- 快速检索
- 易于理解和编程
缺点
- 如果我们存储大量值,维护 key 就会很困难。
- 用户可以随时清除此设置。
数据库:
当我们要存储大量具有复杂结构的值时,我们只剩下一个很好的解决方案,即。数据库。
优点
- 我们可以维护数据结构。
- Android 有漂亮且简单的 API 来处理 sqlite 操作。
缺点
与共享首选项相比,操作有点慢。 用户可以随时清除它。
关于Android SharedPreferences 或 SQLite 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16605900/