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)




이렇게 나와있는데요... 

java.util.ConcurrentModificationException 를 검색해보니 반복문에서 remove를 시켜서 오류라는거 같기도 하고...

그러데 실행은 멀쩡히 됩니다. 터치 게임인데 한창 실행 중에 몬스터를 터치하면 어느 순간 중지문구가 뜨면서 게임종료가 되네요...

메모리 부족 때문일까요? 

조언 부탁드려요ㅠㅠ