Android屏幕内容绘制原理
Android屏幕上显示的内容,是由屏幕内容合成器(Screen Compositor),将若干个图像单元,分别进行绘制合成后,最终显示出来的
每个图像单元,一般对应这一个控件绘制区域,通过一个ByteBuffer缓冲区来存储像素数组,通过一个Canvas来绘制这片区域
Surface
Surface相当于指向某块ByteBuffer缓冲区的指针(用界面编程领域的术语来说,这个叫做句柄),Surface在创建时,同时会创建一个Canvas,用于绘制该缓冲区的数据
SurfaceHolder
SurfaceHolder是一个对Surface进行包装和控制的接口,通过SurfaceHolder可以控制Surface中的像素格式和宽高
SurfaceView
SurfaceView用于最终展示Surface中的像素