上QQ阅读APP看书,第一时间看更新
2.1 Android系统显示原理
说到显示原理,相信大家从网上或其他书籍上看过相关的知识,但大部分人看得云里雾里,是因为整个显示系统很复杂吗?确实很复杂,但我们只需要了解整体流程,抓住关键知识,从应用角度上来讲,需要掌握的不多,如果自己有兴趣,可以阅读专门介绍系统框架的书籍,结合源码来分析,这里就不过多地介绍系统层的知识了。下面我们首先介绍在应用开发上需要涉及的知识点和整体流程。
Android的显示过程可以简单概括为:Android应用程序把经过测量、布局、绘制后的surface缓存数据,通过SurfaceFlinger把数据渲染到显示屏幕上,通过Android的刷新机制来刷新数据。也就是说应用层负责绘制,系统层负责渲染,通过进程间通信把应用层需要绘制的数据传递到系统层服务,系统层服务通过刷新机制把数据更新到屏幕。
通过阅读Android系统的源码可以了解显示的流程,Android的图形显示系统采用的是Client/Server架构。SurfaceFlinger(Server)由C++代码编写。Client端代码分为两部分,一部分是由Java提供给应用使用的API,另一部分则是由C++写成的底层具体实现。下面通过介绍绘制原理和刷新机制来学习整个显示过程。