共享首选项 - 单个值的最大长度

Way*_*int 43 android sharedpreferences

我将String存储到共享首选项中,但我无法找到我可以存储的最大字符串长度.你知道这个价值吗?

MKJ*_*ekh 75

作者:Romain Guy来自这里提出的问题,

无论Java字符串的最大长度是多少.所以类似于Integer.MAX_VALUE字符.

我想,如果只存储一对/对象,则SharedPreference是一个用One Tag存储的XML文件.因此,如果你认为你正在写一个文件,那么编写String是没有限制的.(理论上)

实际上会发生的是,当您使用函数为SharedPreference分配值put/get时,您在String Object中读取/写入值.所以限制变为一次存储值等于Java的String对象的大小限制.

因此在编写代码时:SharedPreference的限制字符串大小= Java字符串对象大小限制(实际)

  • `Integer.MAX_VALUE`是2147483647. (4认同)

Sun*_*hoo 20

存储共享首选项/data/data/[package_name]/shared_prefs/[app name].xml,我认为根据android架构没有限制.

  • @Kamlesh 使用 EncryptedSharedPreferences (3认同)

man*_*ani 5

当我尝试将最大长度字符串保存到设备中的SharedPreferences中时,当SharedPreferences数据超过1.42 MB时,它将引发内存异常。

因此,如果您要保存大于1.42 MB的数据大小,最好使用SQLite数据库保存。

根据developer.android.com

如果您要保存的键值集合相对较小,则应使用SharedPreferences API。