Как использовать классы андроидов "Поверхность"?
Есть ли подробное объяснение Surface, SurfaceHolder, EGLSurface, SurfaceView, GLSurfaceView, SurfaceTexture и TextureView? В частности:
- В чем разница между SurfaceView и TextureView?
- Нужно ли использовать GLSurfaceView для использования OpenGL ES?
- Как взаимодействуют поверхность и EGLSurface?
- Что делает SurfaceTexture?
- Почему материал, который я рисую на SurfaceView, должен быть выше или ниже всего остального?
- Что такое SurfaceFlinger?
- Как работает состав статусных и навигационных баров?
- В то время как были на нем, какой правильный способ структурировать игровой цикл на Android?
Ответы
Ответ 1
Ответы на эти и многие другие вопросы теперь можно найти на веб-сайте Project Open Source Project:
Графическая система на уровне Android
Документ начинается с объяснения инфраструктуры низкого уровня, а затем объясняется, как из них строятся функции более высокого уровня. Цель состоит не в том, чтобы дать прямые ответы на общие вопросы, а скорее для описания системы на уровне детализации, который делает ответы очевидными, не подавляя.
Выбор материала и уровня детализации сильно зависел от Q & A от stackoverflow.
(Технически это ответ только для ссылок, но запись 10 000 слов здесь показалась плохой идеей.)