如何理解android展示框架流程?

How to understand android display framework flow?

我有一些天真的问题,因为我从来没有和 android 一起工作过。 我试图理解 android.

的显示框架

以上是我在android显示框架中看到的一张图片。我想了解这个流程是如何工作的。

1.After状态栏怎么会有GPU这样的硬件?

2.How GPU 可以在 Surfaceflinger 内部,而所有硬件只能通过内核驱动程序访问吗?

3.Is 图形 HAL 与显示 HAL 不同还是两者相同?

4.On一个屏幕我们看到不一样的东西。它可以是视频、3d/2d 游戏或主屏幕或音乐播放器。所有这些东西都使用 Surfaceflinger 吗?我的意思是所有需要显示的东西都必须经过 Surfaceflinger?他们可以用不同的方式来表达他们的数据,但最终要展示,这些数据必须通过surfaceflinger合成,然后交给HAL?

谢谢。

有点混乱的图片....

  1. Statusbar/Views等生成带有图形数据的缓冲区。要生成它们,他们必须通过 HAL 与 GPU 进行通信。状态栏中没有 GPU ;)

  2. 这里的GPU也就是和HAL进行一些通信的意思。 Flinger 合成缓冲区并为 Composer

  3. 准备它们
  4. 他们做不同的事情所以他们应该不同?