1.Surface
原始图像缓冲区(raw buffer)(raw buffer由屏幕合成器管理的)的一个句柄
存储着当前窗口的像素数据
内部有Canvas
2.SurfaceHolder
SurfaceHolder是控制surface的一个抽象接口
SurfaceHolder.CallBack
监听Surface的变化
surfaceChanged surface大小改变时回调
surfaceCreated surface创建
surfaceDestroyed surface创建销毁
3.SurfaceView
从内存或者硬件接口取得图像数据绘图容器,内部有Surface
4.自定义SurfaceView
MySurfaceView extends SurfaceView
构造方法中:
surfaceholder=getSurfaceHolder();
surfaceholder.addCallBack(自定义SurfaceHolder.CallBack 实现:surfaceChanged,
surfaceCreated,surfaceDestroyed)
定义绘制线程 传入自定义SurfaceView的SurfaceHolder
绘制线程内定义一个stop 变量 run内循环 周期绘制 在停止绘制设置为false
(surfaceCreated)开启绘制线程
绘制时synchronized surfaceholder
在run方法 中 从surfaceholder.lockCanvas获取Canvas 画布实例,绘制内容
(surfaceCreated)结束绘制时调用surfaceholder.unlockCanvasAndPost(canvas)
2016.8.31.22.40
原始图像缓冲区(raw buffer)(raw buffer由屏幕合成器管理的)的一个句柄
存储着当前窗口的像素数据
内部有Canvas
2.SurfaceHolder
SurfaceHolder是控制surface的一个抽象接口
SurfaceHolder.CallBack
监听Surface的变化
surfaceChanged surface大小改变时回调
surfaceCreated surface创建
surfaceDestroyed surface创建销毁
3.SurfaceView
从内存或者硬件接口取得图像数据绘图容器,内部有Surface
4.自定义SurfaceView
MySurfaceView extends SurfaceView
构造方法中:
surfaceholder=getSurfaceHolder();
surfaceholder.addCallBack(自定义SurfaceHolder.CallBack 实现:surfaceChanged,
surfaceCreated,surfaceDestroyed)
定义绘制线程 传入自定义SurfaceView的SurfaceHolder
绘制线程内定义一个stop 变量 run内循环 周期绘制 在停止绘制设置为false
(surfaceCreated)开启绘制线程
绘制时synchronized surfaceholder
在run方法 中 从surfaceholder.lockCanvas获取Canvas 画布实例,绘制内容
(surfaceCreated)结束绘制时调用surfaceholder.unlockCanvasAndPost(canvas)
2016.8.31.22.40