经过前面文章对开机启动动画的流程梳理,引出了实际上在开机启动动画中,并没有Activity,而是通过 OpenGL es 进行渲染,最后通过某种方式,把数据交给 Android 渲染系统。
让我们回忆一下开机动画前期准备的相关步骤,大致分为如下几个:
1)getInternalDisplayToken:获取显示屏的 SurfaceControl 令牌(Token)。
2)getActiveDisplayMode:获取当前激活(正在使用中)的显示模式信息。
3)createSurface:通过 Client 创建绘制平面控制中心(SurfaceControl)。
4)t.setLayer:设置当前 layer 的层级。
5)getSurface:获取实真正的绘制平面 Surface 对象。
6)eglGetDisplay:获取 OpenGL ES 的默认主屏幕,并加载 OpenGL ES。
7)eglInitialize:初始化 EGL 显示连接(EGLDisplay)和着色器缓存。
8)getEglConfig:从 EGL 显示连接中选择一个合适的 EGL 配置 (EGLConfig)。
9)eglCreateWindowSurface:在 Surface 中创建一个 OpenGL ES 的 EGLSurface。
10)eglCreateContext:创建当前 OpenGL ES 的上下文。
11)eglQuerySurfaceÿ