Общие сведения о концепциях Canvas и Surface

Я изо всех сил пытаюсь понять процесс рисования в SurfaceView и, следовательно, всей Surface / Система Canvas / Bitmap , которая используется в Android.

Я прочитал все статьи и страницы документации API, которые мне удалось найти на сайте разработчиков Android, несколько руководств по графика Android, исходный код LunarLander и этот вопрос .

Скажите, пожалуйста, какие из этих утверждений верны, а какие нет, и почему.

  1. Canvas имеет собственное К нему прикреплено растровое изображение . Поверхность имеет свой собственный Canvas , прикрепленный к нему.
  2. Все окна View используют одну и ту же поверхность и, таким образом, разделяют тот же Canvas .
  3. SurfaceView является подклассом View , который, в отличие от других подклассов View и самого View ] , имеет свою собственную поверхность для рисования.

Есть еще один дополнительный вопрос:

  • Зачем нужен класс Surface , если уже существует Холст для высокоуровневых операций с растровым изображением. Приведите пример ситуации, когда Canvas не подходит для выполнения работы, которую может выполнять Surface .

113
задан Community 23 May 2017 в 12:18
поделиться