좀 질문이 애매합니다만;; 그래도 질문을여쭙고싶습니다!!
캔버스에 setBitmap으로 비트맵을넣어주고 drawBitmap 으로 비트맵,위치,필터적용된paint 인수를 넣어주게되면
해당비트맵은 paint도 적용되어있고 위치도 지정되어있는 상태인데
위에서만든 비트맵을 뷰의 Draw메서드에 뿌려주고싶은데
다시 canvas.drawbitmap로 위에 setBitmap한것을 가져오면
위에서 draw한것과 아래에서draw한것 , 2번 씪 뿌려지는거같습니다;
그냥 밑에서만 drawBitmap 을해도 잘되기는하는데 신기하게 view의 draw메서드에서 paint를 적용할경우 프레임이 급격히느려집니다 그런대 위처럼 다른곳에서 paint를적용해서 setbitmap을한것을 ondraw메서드 에 paint는 null로 주고 다시drawbitmap해주면 별로 프레임에영향이없구요
요점
paint적용된 Bitmap을
onDraw()메서드에서 뿌려주는법
무대는 서피스뷰이고 init나 생성자등 시작메서드에서 canvas,paint를 구현해줫습니다
canvas canvas = new Canvas();
pnt = new Paint();
BlurMaskFilter blur = new BlurMaskFilter(5, BlurMaskFilter.Blur.NORMAL);
pnt.setMaskFilter(blur);
canvas.setBitmap(imgThumb);
canvas.drawBitmap(imgThumb, mgnLeft, mgnTop, pnt);
-------------------------------------------
이번엔 서피스 안 쓰레드의run()에서 imgThumb를 다시 뿌려줍니다
canvas.drawBitmap(imgThumb, mgnLeft, mgnTop2, null);
//여기서 paint를 적용하면 프레임이 늦어집니 그래서 위에서 paint를적용하고 여기서는 null처리하엿습니다




사실 질문 내용이 조금 이해가 안되는것 같습니다만...
혹시 "더블 버퍼링"이라는것에 대해 이야기 하시는게 아닐까 싶습니다.
오래된 기술이니 구글링하면 많이 나올겁니다.
이게 아니면 조금 자세히나 소스를 한번 올려봐주세요.