app 이 surface flinger 에게 그릴 공간을 달라고 한다.
surface flinger 가 gralloc 에게 메모리를 달라고 한다.
gralloc(제조사가 만든다. 대부분 코드 비공개)이 메모리를 할당한다.
surface flinger 는 받은 메모리를 surface 로 만든다.
(struct surface 에 정보를 채우고 메모리 연결)
app 은 surface 를 받아왔다고 EGL 에게 알린다.
EGL(제조사가 만든다. 대부분 코드 비공개) 은 OpenGL ES 가 surface 에 달린 메모리를 사용할 있도록 한다.
이 때 부터 app 은 정상적으로 OpenGL API 를 사용할 수 있다.
app 이 여러 OpenGL API 를 통해서 surface 에 그림을 그리고 EGL 에게 다그렸다고 알린다.
실제 그림 그린 메모리가 반영된다.
그리고 나면 surface flinger 가 메모리(surface)를 가져다가 다른 app 들의 surface 와 합쳐서
화면에 출력한다.