博客结构
Android 系统采用一种称为 Surface 的 UI 架构为应用程序提供用户界面。
Android 应用程序调用 SurfaceFlinger 服务把经过测量、布局和绘制后的 Surface 渲染到显示屏幕上。
1.Surface & SurfaceFlinger
2.Surface与SurfaceFlinger关系图
在 Android 应用程序中,每一个 Activity 组件都关联有一个或者若干个窗口,每一个窗口都对应有一个 Surface。有了这个 Surface 之后,应用程序就可以在上面渲染窗口的 UI。最终这些已经绘制好了的 Surface 都会被统一提交给 Surface 管理服务 SurfaceFlinger 进行合成,最后显示在屏幕上面。无论是应用程序,还是 SurfaceFlinger,都可以利用 GPU 等硬件来进行 UI 渲染,以便获得更流畅的 UI。
3.渲染机制类图
4.渲染机制交互图
5.渲染中遇到的坑
1. 7.0+ View.Post的失效
5.巨人肩膀
1.Android之Surface绘制原理
2.Android 渲染机制——原理篇(显示原理全过程解析)
3.View.post() 不靠谱的地方你知道多少