SharedPreferences类的最大大小

时间:2011-12-27 12:50:14

标签: android

我想用SharedPreferences类保存很多字符串。 这些字符串很长。 我真的想知道可以在android中的共享首选项中保存的字符串的最大长度。还有我可以在这个SharedPrefernces类中存储多少大小的数据。

5 个答案:

答案 0 :(得分:8)

根据Android架构,在SharedPreference 中存储数据没有此限制。当你需要处理大量数据时,更好的方法是数据库(SQLite)

答案 1 :(得分:2)

我在某处读到除了Integer.MAX_VALUE(最大字符串长度)之外没有其他硬限制。但是不建议将这么多存储在共享首选项上,因为这是必须解析的XML文件,并且在解析它时会遇到问题。

我曾经在那里存储大约50-100KBytes。它奏效了。

答案 2 :(得分:1)

SharedPreference数据存在限制。 在我的设备中,当SharedPreference数据跨越1428506字节时,它会抛出内存异常。

因此,当您需要存储大量数据时,最好使用SQLite数据库。

答案 3 :(得分:0)

手动获得的确切答案是:在我的情况下,最大Unicode符号的大小为5 657 632个符号(或从[0到5657631])。 SharedPReference.Editor约为2.7MB。

相当大的存储空间。 你可以使用这个尺码两次:

PreferenceManager.getDefaultSharedPreferences(c)
context.getSharedPreferences("<key>", <Mode>);

答案 4 :(得分:-1)

当然不限制SharedPreferences但是如果系统没有足够的内存,那么删除它就是第一个东西,你记得它。

相关问题