我想用SharedPreferences
类保存很多字符串。
这些字符串很长。
我真的想知道可以在android中的共享首选项中保存的字符串的最大长度。还有我可以在这个SharedPrefernces
类中存储多少大小的数据。
答案 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但是如果系统没有足够的内存,那么删除它就是第一个东西,你记得它。