Я изо всех сил пытаюсь понять процесс рисования SurfaceView
и, следовательно, всю систему Surface
/ Canvas
/ Bitmap
, которая используется в Android.
Я прочитал все статьи и страницы документации API, которые мне удалось найти на сайте разработчиков Android, несколько руководств по графике для Android, исходный код LunarLander и этот вопрос .
Скажите, пожалуйста, какие из этих утверждений верны, а какие нет и почему.
Canvas
Bitmap
к нему прикреплено собственное . к нему прикрепленоSurface
собственноеCanvas
.- Все
View
окна используют одноSurface
и то же и, следовательно, используют одно и то жеCanvas
. SurfaceView
является подклассомView
, который, в отличие от другихView
подклассов иView
самого себя, имеет свой собственныйSurface
.
Есть еще один дополнительный вопрос:
- Зачем нужен
Surface
класс, если он уже естьCanvas
для высокоуровневых операций с битовой картой. Приведите пример ситуации, когдаCanvas
не подходит для выполнения работы, которуюSurface
можно выполнять.