728x90
반응형
SurfaceView란?
SurfaceView는 초당 프레임이 순식간에 바뀌는 카메라 미리보기나 게임, 영상 등 애니메이션이 들어간 경우에 사용하는 View이다.
SurfaceView는 Surface라는 별도의 메모리 공간에 그림을 그린다. (UI 스레드가 아니다.) 별도의 스레드로 그림을 그리기때문에 UI 스레드에서 과부하가 걸리는걸 막아준다.
SurfaceView의 장점 : 더블 랜더링
안드로이드에서는 오직 UI스레드만이 View 그릴 수 있다.
View를 다 그릴때까지 UI스레드는 아무것도 할 수없다. 심지어 그림을 그리는 과정이 전부 노출되기때문에 이미지가 찢어진다던가 버벅거리는 현상이 유저에게 보여질 수 있다. UI스레드 혼자 작업하는 것을 싱글 버퍼링이라한다.
그런데 SurfaceView를 이용하면 Surface라는 유저가 볼 수 없는 공간에서 그림을 그리게된다. (더블 버퍼링)
이렇게 되면 유저는 완벽하게 만들어진 그림만 보기때문에 버벅거림 등을 전혀 느낄 수 없다.
728x90
반응형
'Android Kotlin' 카테고리의 다른 글
Android Kotlin redundant sam constructor observer (0) | 2024.06.01 |
---|---|
Android Kotlin Unit Test 작성하기 (0) | 2024.05.29 |
Android Studio Kotlin abstract class로 BaseActivity를 사용하는 이유는? (0) | 2024.02.12 |
Android Studio Kotlin Splash화면 구성하기 installSplashScreen (1) | 2023.09.30 |
android studio MotionScene Syntax error : Empty Scene (0) | 2023.09.24 |