2015-09-21 28 views
6

Znalazłem tę awarię w dziennikach awarii. Nie wiem, kiedy to się dzieje. Czy ktoś może mi doradzić, jaki jest tego powód? Może ktoś ma taką samą awarię.java.util.ConcurrentModificationException i SharedPreference

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

spędzić chwilę zrozumienie 'ConcurrentModificationException'. –

+0

dodaj swój kod, aby być bardziej zrozumiałym – Aakash

+0

@Aakash Nie mogę opublikować kodu, ponieważ nie znam linii kodu i kiedy to się stanie. Dostaję ten log od crashlytics – fisher3421

Odpowiedz

10

Widzieliśmy ten wyjątek podczas używania SharedPreferences getStringSet metody. Ta metoda zwraca zestaw, którego nie należy modyfikować . Modyfikowanie tego zestawu podczas serializowania obiektu SharedPreferences do wersji flash spowoduje wygenerowanie wyjątku ConcurrentModificationException.

Stanie się tak również w przypadku korzystania z getAll i modyfikacji zwróconej mapy.

Zobacz documentation

+0

Wow, nie spodziewałem się tego. Dziękuję za podpowiedź! Być może należy czytać dokument częściej ... – JacksOnF1re