当需要快速地更新View的UI,或者当渲染代码阻塞GUI线程的时间过长的时候,SurfaceView就是解决上述问题的最佳选择。SurfaceView封装了一个Surface对象,而不是Canvas。这一点很重要,因为Surface可以使用后台线程绘制。对于那些资源敏感的操作,或者那些要求快速更新或者高速帧率的地方,例如,使用3D图形,创建游戏,或者实时预览摄像头,这一点特别有用。
独立于GUI线程进行绘图的代价是额外的内存消耗,所以,虽然它是创建定制的View的有效方式--有时甚至是必须的,但是使用Surface View的时候仍然要保持谨慎。
分享到:
相关推荐
android SurfaceView添加线程源码
android demo,使用SurfaceView,使用多线程技术,可以滑动的选择按钮组,动画效果非常流畅,按钮数量可以随意改变。
AndroidApp中使用SurfaceView制作多线程动画的实例讲解.docx
surfaceview播放网络视频 线程播放 添加handler传递消息
Android提高第三篇之SurfaceView与多线程的混搭.docx
重点讲解为什么普通view不能在非UI线程刷新界面,而SurfaceView可以.内容为代码的demo而并非文档
使用surfaceview虚拟手柄摇杆,surfaceview中使用独立线程重绘摇杆界面
SurfaceView和TextureView均继承于android.view.View 与其它View不同的是,两者都能在独立的线程中绘制和渲染,在专用的GPU线程中大大提高渲染的性能。 一、SurfaceView专门提供了嵌入视图层级的绘制界面,开发者...
前文简单介绍了Android中SurfaceView的基本使用,本文就来介绍一下SurfaceView与多线程的混搭。SurfaceView与多线程混搭,是为了防止动画闪烁而实现的一种多线程应用。android的多线程用法与JAVA的多线程用法完全...
内容是一段关于SurfaceView线程绘图代码示例, 也是个简单的示例,只力求把流程展示清楚。 SurfaceHolder holder; public MyView(Context context) { super(context); holder = this.getHolder(); //获取holder ...
21天学习android开发教程之SurfaceView与多线程的混搭,感兴趣的小伙伴们可以参考一下
Android游戏开发, SurfaceView!
自定义surfaceVIew,讲解在子线程中绘制的demo
如果需要在另外的线程绘制界面、需要迅速的更新界面或则渲染UI界面需要较长的时间,这种情况就要使用SurfaceView了。SurfaceView中包含一个Surface对象,而Surface是可以在后台线程中绘制的。SurfaceView的性质决定...
surfaceView 网页surfaceView 网页surfaceView 网页surfaceView 网页surfaceView 网页surfaceView 网页
Activity加载自定义的SurfaceView-> SurfaceView 构造器中启动线程A,循环改变SurfaceView的x,y坐标,当x,y坐标到某点时设渐显标志位picAlphaFlag为true -> Surface创建时即surfaceCreated中,启动线程B,循环根据...
SurfaceView 示例, 在子线程中更新画面