我在崩溃日志中发现了这个崩溃。我不知道它什么时候发生。有人能给我建议是什么原因吗?也许有人有同样的崩溃。
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
at java.util.HashMap$KeyIterator.next(HashMap.java:814)
at com.android.internal.util.XmlUtils.writeSetXml(XmlUtils.java:350)
at com.android.internal.util.XmlUtils.writeValueXml(XmlUtils.java:688)
at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:295)
at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:264)
at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:230)
at com.android.internal.util.XmlUtils.writeMapXml(XmlUtils.java:187)
at android.app.SharedPreferencesImpl.writeToFile(SharedPreferencesImpl.java:597)
at android.app.SharedPreferencesImpl.access$800(SharedPreferencesImpl.java:51)
at android.app.SharedPreferencesImpl$2.run(SharedPreferencesImpl.java:512)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
答案 0 :(得分:11)
使用SharedPreferences getStringSet
方法时,我们已经看到了此异常。此方法返回不应修改的集合。在将SharedPreferences对象序列化为flash时修改此集将产生ConcurrentModificationException。
如果您使用getAll
并修改返回的地图,也会发生这种情况。
答案 1 :(得分:0)
有人已经回答了这个问题,您可能有兴趣看看: ConcurrentModificationException in Android while accessing Shared Preferences