Java.util.ConcurrentModificationException y SharedPreference
Descubrí accidentes de mi aplicación y conoció a este. No sé cuándo está sucediendo. ¿Puede darme consejo cuál es la razón? Tal vez alguien tiene el mismo accidente.
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)
Hemos visto esta excepción cuando se utiliza el método SharedShareStringSet SharedPreferences. Este método devuelve un conjunto que no debe modificarse . La modificación de este conjunto mientras el objeto SharedPreferences se está serializando para parpadear producirá una excepción ConcurrentModificationException.
Esto también ocurrirá si usa getAll
y modifica el mapa devuelto.
Ver la documentación
Alguien ya ha respondido a esta pregunta, podría estar interesado en echar un vistazo a: ConcurrentModificationException en Android mientras accede a Preferencias compartidas