SurRview之lockCanvas

   链接到

 

昨天刚开始摸索Surface这个东西,在用到 lockCanvas(Rect dirty)这个接口的时候一直没有出来自己想要的效果,网上搜了一下不得要领,后来看到“双缓冲”这几个字突然蹦出来一丝灵感,加以实践,最终证实了自己的猜想。

 

        lockCanvas(null),就是锁住整张画布,绘画完成后也更新整张画布的内容到屏幕上,这个没有什么疑惑。而 lockCanvas(Rect dirty)就是锁住画布中的某个区域,绘画完成后也只更新这个区域的内容到屏幕。使用后一接口的初衷是只更新必要的画面内容以节省时间,提高程序运行的效率,适用于大动态画面的场景。

        然而,在实际使用lockCanvas(Rect dirty) 时却发现它似乎也是要更新完整个屏幕的,比如我在第一帧的时候画了整个画面,然后按下了某一按钮,于是在画第二帧时就只想更新那个按钮区域的图像,但结果却是这样子的:
--------------------- 
作者:gymsun 
来源:CSDN 
原文:https://blog.csdn.net/gymsun/article/details/8516823 
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值