surface
그림그릴수 있는 객체를 얻어올 수있는 게 surface 이다.
자신의 크기만한 윈도우를 생성해준다. 근데 이거는 Input이 안된다.
거기서 Canvas를 얻어와서 그림그리고 출력해주면 된다.
리스너를 써서 surface가 생성됬을때를 알아야 한다.
surfaceHolder가 관리한다. surface뷰 내에서 생성된 surface를 관리한다.
sufaceHolder에 콜백함수를 등록하면 surface에 상태에따라 함수가 호출된다.
getSurface해서 surface를 얻어올 수 잇다.
lockCanvas라는 함수가 있어서 Canvas를 얻어 올 수 있다.
여기서 얻어서 그리고 , unLockCanvasHost함수로 출력을 할 수 있다.
메인쓰레드만 화면그리기가 됬지만, 이건 메인쓰레드일 필요가 없다.
그래서 별도의 쓰레드를 만들어서 쓴다.
Surface뷰는 반복적으로 작업 하는 경우 많이 쓴다.
Duoble Buffer,
'Android' 카테고리의 다른 글
[14일차]네트워킹 (0) | 2016.08.04 |
---|---|
[14일차] Drag And Drop (0) | 2016.08.04 |
[13일차] 그리기, 접근성 (0) | 2016.08.03 |
[13일차]View의 상태 저장 (0) | 2016.08.03 |
[13일차] 커스텀 뷰 그래픽 (0) | 2016.08.03 |