SurfaceView相关

来源:互联网 发布:移动硬盘不能写入 mac 编辑:程序博客网 时间:2024/06/03 14:57
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




  
0 0
原创粉丝点击