我如何使用Android的“Surface”类?

时间:2014-05-01 19:10:46

标签: android surfaceview glsurfaceview textureview surfaceflinger

是否有Surface,SurfaceHolder,EGLSurface,SurfaceView,GLSurfaceView,SurfaceTexture和TextureView的详细说明?特别是:

  • SurfaceView和TextureView有什么区别?
  • 我是否需要使用GLSurfaceView来使用OpenGL ES?
  • Surface和EGLSurface如何互动?
  • SurfaceTexture的作用是什么?
  • 为什么我在SurfaceView上绘制的东西必须高于或低于其他所有东西?
  • 什么是SurfaceFlinger?
  • 状态和导航栏的组合如何工作?
  • 虽然我们正在努力,但在Android上构建游戏循环的正确方法是什么?

1 个答案:

答案 0 :(得分:20)

现在可以在Android开源项目网站上找到这些问题和许多其他问题的答案:

Android System-Level Graphics

本文档首先介绍了低级基础架构,然后介绍了如何从它们构建更高级别的功能。目标不是直接回答常见问题,而是在详细程度上描述系统,使答案显而易见,而不是压倒性的。

材料和细节水平的选择受到堆栈溢出Q& A的严重影响。

(从技术上讲,这是一个仅限链接的答案,但在这里写一万字似乎是一个坏主意。)