SurfaceView双缓冲

SurfaceView适用于高效游戏开发,直接访问画布并利用SurfaceHolder.Callback接口进行生命周期管理。在绘制前需lockCanvas,完成后unlockCanvasAndPost,通过回调方法处理surface创建、改变和销毁。示例代码展示了如何创建和更新SurfaceView。
摘要由CSDN通过智能技术生成
当需要开发复杂的游戏,而且对游戏执行效率很高时,view就不能满足了,这时必须使用SurfaceView类进行开发。SurfaceView可以直接访问画布(Canvas)。使用SurfaceView开发时需注意使用它绘图时一般都是在最顶层使用时还需要对其进行创建、销毁、情况改变时进行监视,这就要实现SurfaceHolder.Callback接口,如果要对被绘制的画布进行裁剪,控制其大小时都是需要使用SurfaceHolder来完成处理。在程序中SurfaceHolder对象需要通过getHolder方法获得,同时还需addCallback方法来添加回调函数
SurfaceView和View最明显的不同之处在于,SurfaceView不需要通过线程来更新视图,但在绘制前必须使用lockCanvas方法锁定画布,并得到画布,然后在绘制,绘制完成后使用unlockCanvasAndPost方法解锁画布

surfaceCreated:surface创建时激发
surfaceChangedsurface改变时激发
surfaceDestroyedsurface销毁时激发
addCallback给surfaceView添加一个回调函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值