2014-06-23 3 views
0

나는 내 게임에서 안드로이드를 위해 많은 비트 맵을 사용하고 있으며 모든 것이 훌륭하게 작동하지만, 버튼을 클릭하여 새로운 활동을 시작하면 약 0.5 초간 게임이 멈춘다. 별로 아니지만 성가시다. onDestroy 메서드에서 메모리를 절약하기 위해 모든 비트 맵을 재활용하므로 응용 프로그램이 멈 춥니 다. 거기에 더 똑똑한 해결책이 있습니까?안드로이드가 비트 맵을 재활용하기에는 너무 오래 걸린다.

답변

1

어쩌면들의 OnDestroy이

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    new AsyncTask<Bitmap[],Void,Void>() { 

     @Override 
     protected Void doInBackground(Bitmap[]... params) { 
      for (Bitmap b : params[0]) { 
       b.recycle(); 
      } 
      return null; 
     } 
    }.execute(bitmaps); 
} 
+0

같은

뭔가 당신이 나에게 이것에 대해 더 자세한 정보를 줄 수라고 할 때 AsyncTask를 그들을 재활용하려고? – user3330053

+0

'AsyncTask'는 그것이 호출 된'Activity'가 파괴 된 후에도 백그라운드에서 실행될 수 있습니다. AsyncTask가 백그라운드에서 실행되기 때문에 onDestroy()는 차단되지 않고 새로운 'Activity'가 훨씬 빨리 시작됩니다. – BVB

+0

@ user3330053이 기능을 사용 하시나요? – hoomi

관련 문제