안드로이드 개발 질문/답변
(글 수 45,052)
public class CustomView extends View { Bitmap background = null; Bitmap bair = null; public CustomView(Context context) { super(context); // TODO Auto-generated constructor stub } @Override protected void onDraw(Canvas canvas){ background = BitmapFactory.decodeResource(getResources(), R.drawable.background); canvas.drawBitmap(background, 0, 0, null); bair = BitmapFactory.decodeResource(getResources(), R.drawable.bair); canvas.drawBitmap(bair, 240, 480, null); } }현재 View를 저렇게 구현한 상태인데요. 저기서 onTouchEvent를 추가했는데 bair 객체가 움직이면 invalidate()로 전부다 다시 그리게 했습니다.
근데 저렇게 하면 과부하가 걸려서 bair만 다시 그리게 하고 싶습니다.
어떻게 처리를 해야하는지 좀 가르쳐주세요^^;;
2010.06.21 21:45:10
감사합니다^^; 그런데 해당 방식으로는 두개를 그리되 overhead를 줄이자는 것인데 제가 알고싶은 것은 view 위에 또다른 view를 두는 방식이라던지 등등의 방법을 통해 bair만 그리는 것입니다.ㅎㅎ
2010.06.21 22:22:56
이미지가 자주 바뀌는것을 그리기엔 onDraw 로 처리하기엔 무리가 있습니다. 내부적으로 thread 가 지원되는 surfaceView 혹은 GLSurfaceView 를 사용하시는게 좋을거 같군요.