首页 文章

ConcurrentModificationException - 如何修复?

提问于
浏览
0

有一个应用程序包含一个激活容器,其中有2个片段被替换(列表和详细信息) . 我从大约0.5个用户每千人得到“RuntimeException引起:ConcurrentModificationException” . 我自己无法 grab 它 . 我用的是:moxy,dagger,rx .

我知道在迭代期间修改集合时会发生此异常 . 但我不这样做 .

java.lang.RuntimeException: 
  at android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4179)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4145)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4119)
  at android.app.ActivityThread.handlePauseActivity (ActivityThread.java:4093)
  at android.app.ActivityThread.-wrap18 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1654)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6776)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1518)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)
Caused by: java.util.ConcurrentModificationException: 
  at i.put (i.java:101)
  at fo.a (fo.java:44)
  at fm.onActivityPaused (fm.java:53)
  at android.app.Application.dispatchActivityPaused (Application.java:249)
  at android.app.Activity.onPause (Activity.java:1678)
  at android.support.v4.app.FragmentActivity.onPause (FragmentActivity.java)
  at android.app.Activity.performPause (Activity.java:7158)
  at android.app.Instrumentation.callActivityOnPause (Instrumentation.java:1330)
  at android.app.ActivityThread.performPauseActivityIfNeeded (ActivityThread.java:4168)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4145)
  at android.app.ActivityThread.performPauseActivity (ActivityThread.java:4119)
  at android.app.ActivityThread.handlePauseActivity (ActivityThread.java:4093)
  at android.app.ActivityThread.-wrap18 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1654)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6776)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1518)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)

我认为一个例外是由于这个原因:

at i.put (i.java:101)
  at fo.a (fo.java:44)
  at fm.onActivityPaused (fm.java:53)

1 回答

  • 0

    您正在使用每个循环,同时您无法修改列表 . 用于基于(int i)的循环 .

相关问题