Зачем использовать SurfaceView, а не классический класс View ...
Одной из основных причин является то, что SurfaceView может быстро визуализировать экран.
Проще говоря, SV более способен управлять синхронизацией и рендерингом анимации.
Чтобы лучше понять, что такое SurfaceView, мы должны сравнить его с классом View.
В чем разница ... посмотрите это простое объяснение в видео
https://m.youtube.com/watch?feature=youtu.be&v=eltlqsHSG30
Что касается View, у нас есть одна серьезная проблема ... время рендеринга анимации.
Обычно onDraw () вызывается из системы времени выполнения Android.
Итак, когда система времени выполнения Android вызывает onDraw (), приложение не может управлять
время показа, а это важно для анимации. У нас есть промежуток времени
между приложением (нашей игрой) и системой выполнения Android.
SV может вызывать onDraw () с помощью специального потока.
Таким образом: приложение контролирует время. Таким образом, мы можем отобразить следующее растровое изображение анимации.