안드로이드 개발 질문/답변
(글 수 45,052)
드로우로 그리는 동작이 너무 많아 특정동작시 드로우 안에 스위치 변수를 만들어서 동작을 전부 패스시켰답니다.
속도는 개선됬지만 뒤로 살짝 보이는 화면에서 드로우로 그렸던 모든녀석이 싸그리 사라지는군요.
canvas를 전역으로 빼보기도 했는데... 묵묵무답.
구조는 대략 이렇습니다.
in swich = 0
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
this.canvas = canvas;
if(swich == 0) {
주요동작들~~~
canvas.draw~~~~~~;
}
이런식으로 스위치 변수에 따라 강제 점프를 시킨게지요. 드로우를 이용한 비트맵객체들을 온드로우 기능정지 후에도 화면에 표시되도록... 가능할까요?
속도는 개선됬지만 뒤로 살짝 보이는 화면에서 드로우로 그렸던 모든녀석이 싸그리 사라지는군요.
canvas를 전역으로 빼보기도 했는데... 묵묵무답.
구조는 대략 이렇습니다.
in swich = 0
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
this.canvas = canvas;
if(swich == 0) {
주요동작들~~~
canvas.draw~~~~~~;
}
이런식으로 스위치 변수에 따라 강제 점프를 시킨게지요. 드로우를 이용한 비트맵객체들을 온드로우 기능정지 후에도 화면에 표시되도록... 가능할까요?
2011.04.01 14:58:58
흠. 소스를 못봐서 잘 모르겠지만, 뭔가 잘못된 방법으로 그리드뷰를 사용하고 계신건 아닌지 하는 생각이 드네요.
매번 비트맵을 생성하게 해서 시간을 잡아먹는다던지, BaseAdapter를 구현한 쪽에서 getView 하는 시점에 매번 view를 생성한다던지..
ondraw메소드 내에 너무 시간이 걸리는 연산 작업을 넣었다던지..
소스상 문제가 없음에도 불구하고, 성능이 나오지 않는다면
달력에 최적화된 뷰를 직접 구현하시는 수밖에;;;
근데 그리드뷰가 비트맵 페인팅도 성능이 딸려서 못할 정도로 만들어 놓진 않았을텐데요;; 나름 최적화가 되어 있을텐데;;
매번 비트맵을 생성하게 해서 시간을 잡아먹는다던지, BaseAdapter를 구현한 쪽에서 getView 하는 시점에 매번 view를 생성한다던지..
ondraw메소드 내에 너무 시간이 걸리는 연산 작업을 넣었다던지..
소스상 문제가 없음에도 불구하고, 성능이 나오지 않는다면
달력에 최적화된 뷰를 직접 구현하시는 수밖에;;;
근데 그리드뷰가 비트맵 페인팅도 성능이 딸려서 못할 정도로 만들어 놓진 않았을텐데요;; 나름 최적화가 되어 있을텐데;;



