基本概念介绍

layer是图像合成中最重要的单元

layer,是surface和surface_control的组合。Layer = Surface + SurfaceControl

SurfaceFlinger 将bufferswindow相关数据,合成一个Layer,发送给WindowManager,由WindowManager操控显示在屏幕上。

Android创建画面流程

SurfaceFlinger就是将多个Surface里的内容进行合成,最后提交到屏幕的后缓冲区,等待屏幕的下一个垂直同步信号的到来,再显示到屏幕上。

  • 创建surface。以Normal layer为例:normal layer为surface创建2个buffer,front buffer/back buffer。front buffer用于surface-flinger显示,back buffer用于应用程序画图;当back buffer填满数据(dirty),back buffer和front buffer发生反转。
  • 向layer中填充内容
  • surface_flinger合成

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐