안드로이드 개발 질문/답변
(글 수 45,052)
구글맵에 있는 OverlayItem에 draw()메소드를 구현하였습니다.
근데 호출이 4번이나 되더라고요...로그를 찍어봤지만 알수없는 위치에서 자동으로 4번 호출이 되는것 같던데
draw()메소드가 호출되는 경우는 언제언제가 있나요??
2011.04.07 13:08:39
invalidate가 호출될 때마다 호출됩니다.
요건 기본적으로 화면상에 뭔가 변경이 있을때마다 호출이 되는데,
사실 알 수 없죠.
변경이 안되도 로직상 호출될 수도 있고, 터치가 일어나도 호출될 수도 있고, 타이머를 만들어서 일정시간마다 호출될 수도 있고,
내부적으로 invalidate를 여러번 부를수도 있고...
일단 invalidate 관련 메소드 들을 모두 override해서 로그를 찍어보면 호출되는 곳은 알수 있긴 하겠습니다만
맘 편하게 '아 이건 아무때나 불릴 수 있구나' 하고 코딩하시는 편이 좋습니다. -_-
요건 기본적으로 화면상에 뭔가 변경이 있을때마다 호출이 되는데,
사실 알 수 없죠.
변경이 안되도 로직상 호출될 수도 있고, 터치가 일어나도 호출될 수도 있고, 타이머를 만들어서 일정시간마다 호출될 수도 있고,
내부적으로 invalidate를 여러번 부를수도 있고...
일단 invalidate 관련 메소드 들을 모두 override해서 로그를 찍어보면 호출되는 곳은 알수 있긴 하겠습니다만
맘 편하게 '아 이건 아무때나 불릴 수 있구나' 하고 코딩하시는 편이 좋습니다. -_-



