안녕하세요

 

간단한 게임을 만들고 있는 게임 초보 개발자 입니다.

 

버튼을 누를때마다 비트맵 이미지를 27개를 recycle() 시키고 있습니다.

 

for(int i = 0;i<9;i++)
   for(int j=0;j<3;j++)
   {
    if(img[i][j] != null)
    {
         img[i][j].recycle();
         img[i][j]= null;
       }
   }

 

위의 코들 실행 시키면 어플이 그냥 멈추는 현상이 발생하는데요

exception 이 뜨는것도 아니고 어플이 그냥 홈키 누른것처럼 멈춤니다.

 

그래서

 

for(int i = 0;i<9;i++)
   for(int j=0;j<3;j++)
   {
    if(char2[i][j] != null)
    {
     char2[i][j].recycle();
     char2[i][j]= null;
     try {
         Thread.sleep(20); 

     } catch (InterruptedException ignore) {}
    }
   }

이런 씩으로 처리 하니 어플 멈추는 현상은 없어 졌네요

 

제가 궁금한점은  딜레이 없이  recycle()가 호출되면 어떤 이유로 어플이 멈추는 현상이 발생하느냐 입니다.

 

recycle()가 연속으로 호출되면 단순히 이미지를 릴리즈 하는데 필요한 시간이 부족해서 어플이 멈추는 것인가요?

 

아니면 다른 이유인지 궁금하네요

 

혹시 아시는 분이 계시면 답변 좀 부탁드립니다^^

 

그럼 수고들 하세요