Я пытаюсь понять процесс рисования на 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
.