【问题标题】:Want to know about shared preference limit想知道共享偏好限制
【发布时间】:2012-11-28 12:35:58
【问题描述】:

共享偏好有没有限制,而不是sqlite,我可以优先保存吗?

我在文档中看到最大长度为8192,即偏好元素大小?

public static final int MAX_VALUE_LENGTH -
Maximum size in characters allowed for a preferences value.
Constant Value: 8192 (0x00002000)

【问题讨论】:

    标签: java android sharedpreferences


    【解决方案1】:

    文档中提到的大小是“一个值可以具有的最大字符数”。不是您可以存储的元素数量。

    尽管您可以存储的项目数量没有固有限制 - 随着项目数量的增加,检索和存储变得非常昂贵。

    SharedPreferences 旨在用于您在整个应用中可能需要的全局常量,而不是作为数据库替代品。

    您不能对其执行数据操作和其他 SQLite 操作。

    所以当数据很重要时,总是选择数据库。

    【讨论】:

    • 所以我们可以在共享首选项中添加这么多密钥对值,对于特定的密钥,值必须小于 8192 即 MAXLENGTH??
    • 我还有一个疑问,关于“SharedPreferences 旨在用于您在整个应用程序中可能需要的全局常量,而不是作为数据库替换。”,我优先保存登录凭据并在那里替换值?在替换之前,我想删除该键,然后为该键添加值?
    • 如果你用不同的值再次存储相同的键,它会自动被替换。你不必做任何事情。
    【解决方案2】:

    SharedPreferences 存储在 /data/data/[package_name]/shared_prefs/[app name].xml 中。所以在xml中存储没有限制。

    但是如果你想处理大量的数据,在 SharedPreferences 中存储将不是一种有效的方式。更好地使用数据库。

    【讨论】:

      猜你喜欢
      • 2013-03-15
      • 1970-01-01
      • 2014-07-29
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-17
      相关资源
      最近更新 更多