Как использовать классы 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 слов казалось плохой идеей.)