Android Framework之一帧的显示流程

248 阅读1分钟

源头

18年那会和基友闲聊的时候,对方问了了我一个问题 ,我的回答是爱过

问题是 咱们看到的手机画面是不是一张张图快速的切换,如果是那流程是怎么样的?

时隔多年,虽然鄙人不善画图,凑合画出下图,来回答基友当年的问题。

一帧 (1).jpg

我个人浅薄的理解,想跑通整个基础流程,需要打通如下几个节点,从上向下。

  • Handler
  • 基础绘制流程(doFrame 后 三大步骤调用)
  • RenDerNode
  • Surface
  • Buffer
  • SurfaceFlinger (启动 ,Refresh和Invaildate 事件处理)
  • Native下MessageQueue && Looper && Handler
  • Vsync(软硬信号的发出 和计算的过程)
  • HWC2
  • Fence
  • Choreographer
  • 剩下想到再补充

我这种级别的灵魂画手,画图简直要了老命,很多东西理解不对的话,希望留言补充,感激感激。