我发现一些存储在Set中的值在重新启动应用程序后丢失了。为什么?这是一个AndroidAPI错误吗?有人建议将字符串存储在数据库中。我还没有测试过,但我认为这个建议是解决问题的方法。getStringSet和putStringSet怎么样? 最佳答案 根据我的理解,这是一个错误。问题是当您尝试存储一个集合时,Android会将您尝试保存的修改后的集合与存储在SharedPreferences中的当前集合进行比较。当它们是同一个对象(具有相同的引用)时,新的对象将被忽略。解决方法是在存储之前创建该集合的新副本。Here是详细信息,问题