2011-12-27 60 views
13

我想用SharedPreferences类保存很多字符串。 这些字符串退出很长时间。 我真的很想知道一个字符串的最大长度,这个字符串可以保存在android中的共享偏好设置中。并且我还可以在这个SharedPrefernces类中存储多少数据量。SharedPreferences类的最大大小

回答

8

根据android架构,在SharedPreference中没有这样的限制。更好的办法是到数据库(SQLite)当你必须处理大量的数据

2

我读的地方,除了Integer.MAX_VALUE(最大字符串长度)以外没有硬限制。但不宜将共享首选项存储太多,因为这是必须解析的XML文件,解析它时会遇到问题。

我曾经在那里存储约50-100KBytes。有效。

-1

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

0

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

相当大的存储空间。 您CA两次使用这个尺寸:

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

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

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