SurfaceView를 사용하는 이유
-
SurfaceView를 사용하는 이유예전 글들/Android 2011. 5. 11. 15:06
화면 상에 그림을 마구마구 띄우면 특히 Canvas를 이용한 그림을 띄우면 느려지는 걸 볼 수 있다. 이를 해결하려면 thread라는 걸 써야하는데 여기서 문제가 있다. - 주 Thread가 아닌 백그라운드 Thread에서 화면에 뭔가를 출력하는 것은 허용되지 않는다고 한다. - Thread는 계산이나 네트워크 입출력 같은 것을 하는 것이지 사용자와 직접 인터페이스하지 않는다. - 하나의 Canvas에 대고 두 Thread가 동시에 출력을 내 보내면 어떤 혼란이 발생할지 쉽게 추측 가능하며 그래서 운영체제는 Thread가 Canvas를 액세스하지 못하도록 금지한다. 그래서 SurfaceView를 사용한다는군요. 일반 View는 Canvas를 가지지만 SurfaceView는 표면을 가진다. Surface는..