SurfaceView와 SurfaceHolder

안드로이드 어플리케이션에서 View는 GDI Thread를 통해 Surface에 그려지게 된다. 만약 View에 동영상 또는 카메라 프리뷰와 같이 그려지는 양이 매우 많거나 빠른 화면전환을 원한다면 SurfaceView를 사용해야 한다. SurfaceView는 GDI Thread를 통해 Surface에 그려지지 않고 다른 Thread를 통해서 그려지기 때문이다. SurfaceView는 아래 그림과 같이 Window의 아래쪽에 위치하며, Windows를 Punched하여 자신이 보여지게 끔 한다. 만약 Window위에 다른 View가 있다면 blended되어진다. 

 

[출처] 청하가 제안하는 소프트웨어 엔지니어로써 재미있게 사는 법  http://sozu.tistory.com/35 

Furface는 하나의 그래픽 버퍼로써 SurfaceView에 실제로 그림을 그리는 등의 작업을 하는 것은 SurfaceHolder라고 하는 콜백함수이다. SurfaceHolder는 개발자가 직접 surface의 사이즈나 형식을 조절할 수 있고, surface의 pixel등 수정을 할 수 있게 해준다. 콜백함수는 정의해두기만 하면 운영체제가 알아서 호출해주는 함수를 의미한다.

 

[출처] 커니의 안드로이드 이야기  http://androidhuman.tistory.com/307 






[출처] http://javaexpert.tistory.com/170 [나는 안드로이드다.]

'웹 개발 > 안드로이드' 카테고리의 다른 글

Parcelable  (0) 2017.04.08
Intent  (0) 2017.03.18
ANR(Application Not Responding)  (0) 2017.03.14
Inflate  (0) 2017.03.13
could not install *smartsocket* listener:cannot bind to ..  (0) 2017.03.09

+ Recent posts