15

Gibt es eine detaillierte Erklärung von Surface, SurfaceHolder, EGLSurface, SurfaceView, GLSurfaceView, SurfaceTexture und TextureView? Insbesondere:Wie verwende ich die "Surface" -Klassen von Android?

  • Was ist der Unterschied zwischen SurfaceView und TextureView?
  • Muss ich GLSurfaceView verwenden, um OpenGL ES zu verwenden?
  • Wie interagieren Surface und EGLSurface?
  • Was macht SurfaceTexture?
  • Warum müssen die Sachen, die ich auf einer SurfaceView zeichne, über oder unter alles andere gehen?
  • Was ist SurfaceFlinger?
  • Wie funktioniert die Zusammensetzung der Status- und Navigationsleisten?
  • Während wir gerade dabei sind, was ist der richtige Weg, um eine Spielschleife auf Android zu strukturieren?

Antwort

17

Die Antworten auf diese und viele andere Fragen können jetzt auf dem Android Open Source Project Web-Seite:

Android System-Level Graphics

Das Dokument beginnt mit einer Erläuterung der Low-Level-Infrastruktur und erklärt dann, wie die übergeordneten Funktionen aus ihnen gebildet werden. Das Ziel ist nicht, direkte Antworten auf häufig gestellte Fragen zu geben, sondern das System auf einer Detailebene zu beschreiben, die die Antworten offensichtlich macht, ohne überwältigend zu sein.

Die Wahl des Materials und Detaillierungsgrad waren schwer beeinflusst von Q & A auf Stackoverflow.

(Technisch gesehen ist dies ein Link-only Antwort, aber das Schreiben 10.000 Wörter hier schien wie eine schlechte Idee.)

+0

Ich mag, wie die Frage und die Antwort auf der gleichen Minute geschrieben werden. –

+1

@ LéonPelletier: http://stackoverflow.com/help/self-answer – fadden

+0

Danke, ich wusste nicht, dass es eingerichtet wurde. Aber ich war mehr überrascht über die 0 Minuten Verzögerung. –