android 之Surface

本文介绍了Android中的Surface,SurfaceView以及SurfaceHolder.Callback的作用。SurfaceView拥有独立的绘制线程,提供更高的帧率,适用于游戏和摄像头取景等场景。SurfaceHolder.Callback用于监听Surface的状态变化,确保在正确的时间进行绘图操作。SurfaceView的可见性控制Surface的创建与销毁,通过SurfaceHolder可以访问和控制Surface。
摘要由CSDN通过智能技术生成
                                        1.什么是Surface?


简单地说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都是画在Surface上的,传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行




                                        2.什么是SurfaceView?


说SurfaceView是一个View也许不够严谨,然而从定义中 public class SurfaceView extends View {...}显示SurfaceView确实是派生自View,但是SurfaceView却有着自己的Surface,继续看SurfaceView的源码:


    if (mWindow == null) {  
          mWindow = new MyWindow(this);  
          mLayout.type = mWindowType;  
          mLayout.gravity = Gravity.LEFT|Gravity.TOP;  
          mSession.addWithoutInputChannel(mWindow, mWindow.mSeq, mLayout,  
          mVisible ? VISIBLE : GONE, mContentInsets);  
    }  


很明显,每个SurfaceView创建的时候都会创建一个MyWindow,new MyWindow(th
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值