上篇文章我们说了SurfaceView,接下来我们对Texture进行一下分析。
SurfaceView由于使用的是独立的绘图层,并且使用独立的线程去进行绘制。前面的文章中也说到SurfaceView不能进行Transition,Rotation,Scale等变换,这就导致一个问题SurfaceView在滑动的时候,SurfaceView的刷新由于不受主线程控制导致SurfaceView在滑动的时候会出现黑边的情况,看下面的效果图。
这个Demo里的SurfaceView是上篇文章中定义的DrawSurfaceView,不了解的同学可以看上一篇文章
如果这里的SurfaceView是VideoView,由于视频刷新的速度比这个DrawSurfaceView速度大好几倍,那么这个黑边的情况将更恶劣,同学可以将DrawSurfaceView的刷新延时DELAY设置的更小一点,看的效果更明显。这里要讲到的TextureView就是用来解决这种问题的。