Как использовать классы Android "Поверхность"?

Есть ли подробное объяснение Surface, SurfaceHolder, EGLSurface, SurfaceView, GLSurfaceView, SurfaceTexture и TextureView? Особенно:

  • В чем разница между SurfaceView и TextureView?
  • Нужно ли использовать GLSurfaceView для использования OpenGL ES?
  • Как Surface и EGLSurface взаимодействуют?
  • Что делает SurfaceTexture?
  • Почему материал, который я рисую в SurfaceView, должен идти выше или ниже всего остального?
  • Что такое SurfaceFlinger?
  • Как работает состав строки состояния и навигации?
  • В то время как мы находимся на этом, как правильно структурировать игровой цикл на Android?

1 ответ

Решение

Ответы на эти и многие другие вопросы теперь можно найти на веб-сайте Android Open Source Project:

Графика уровня системы Android

Документ начинается с объяснения низкоуровневой инфраструктуры, а затем объясняется, как из них строятся высокоуровневые функции. Цель состоит не в том, чтобы дать прямые ответы на общие вопросы, а в том, чтобы описать систему на уровне детализации, который делает ответы очевидными, не будучи подавляющими.

На выбор материала и уровень детализации большое влияние оказали вопросы и ответы на переполнение стека.

(Технически это только ссылка, но написание здесь 10000 слов казалось плохой идеей.)

Другие вопросы по тегам