for (int i=m_explist .size()-1;i>=0;i--) //생성된 폭발 기수만큼 반복
{
Bomb exp = m_explist .get(i); //상태 확인할 폭발 리스트 갱신
exp.Update(GameTime); //시간마다 호출
if(exp.getAnimationEnd())
{
m_explist.remove(i); //반복된 애니메이션은 제거한다. 메모리 확보를 위해 필요
}
}
소스는 위와 같습니다.
실행 중 갑자기 오류로 종료가 되길래 로그캣을 확인하니
04-10 14:55:54.716: W/dalvikvm(10127): threadid=8: thread exiting with uncaught exception (group=0x2aac8830)
04-10 14:55:54.716: E/AndroidRuntime(10127): FATAL EXCEPTION: Thread-9
04-10 14:55:54.716: E/AndroidRuntime(10127): java.util.ConcurrentModificationException
04-10 14:55:54.716: E/AndroidRuntime(10127): at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:573)
04-10 14:55:54.716: E/AndroidRuntime(10127): at defence.Game.GameState.Render(GameState.java:149)
04-10 14:55:54.716: E/AndroidRuntime(10127): at com.framework.GameView.onDraw(GameView.java:50)
04-10 14:55:54.716: E/AndroidRuntime(10127): at com.framework.GameViewThread.run(GameViewThread.java:39)




http://www.coderanch.com/t/233932/threads/java/deal-Concurrent-Modification-Exception
synchronized 활용해보세요