제가 게임을 하나 개발중인데


코드 중간에 

private void createCushion1(Bitmap cushionColor) {


mAnimTarget = new ImageView(getBaseContext());

mAnimTarget.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));

mAnimTarget.setScaleType(ScaleType.MATRIX)

mAnimTarget.setImageBitmap(cushionColor);

mAnimTarget.setImageMatrix(mf);

background.addView(mAnimTarget);

}

이런 코드가 있습니다.


간단히 말하자면 화면에 하나의 이미지(Bitmap)이 있고 이것이 어떤 조건하에 사라지고 다른 이미지(Bitmap)가

생성되는 그런 구성 입니다. mAnimTarget은 ImageView이며 애니매이션효과를 받습니다.

위의 creatCushion1은 이미지를 원하는 위치와 이미지파일을 보여주는 메소드이고

다른 메소드에서 조건이 성립되면 전달인자(cushionColor)가 바뀌면서 다른 이미지가 생성되는 그런 흐름입니다.

어느정도 완성은 되엇는데.. 문제가 한가지 있습니다

어플의 실행 초기는 부드럽게 잘 돌아가는데 후반으로 갈 수록 애니매이션의 버벅거림이 늘어납니다.

제 생각엔 메소드 첫번째 줄에 자꾸 new해서 메모리를 잡아먹는것 때문에 버벅거리는듯 합니다.

BitmapFactory도 사용하지 않았고 조건문에서 위의 코드를 불러내기전에 background.removeView(mAnimTarget);도

사용중이고 스레드를 이용하여 10초 마다 GC가 돌아가게하여

메모리를 최대한 잡아보려 하는데 무엇이 문제인지 도와주셧으면 좋겠습니다.



코드가 길어져서 다 올리지 못하고 질문이 있으시면 댓글로 남겨드리겠습니다 ㅠㅠ