优点:Surface的渲染可以放到单独线程去做,渲染复杂的动画不会影响主线程的的响应。
缺点:因为这个Surface不在View hierachy中,它的显示也不受View的属性控制,所以不能进行平移,缩放等变换,也不能放在其它ViewGroup中,一些View中的特性也无法使用。
面试:SurfaceView相关_沙漠一只雕得儿得儿的博客-CSDN博客_surfaceview为什么可以直接子线程绘制
优点:支持移动、旋转、缩放等动画,支持截图
缺点:必须在硬件加速的窗口中使用,占用内存比SurfaceView高,在5.0以前在主线程渲染,5.0以后有单独的渲染线程。
TextureView和SurfaceView的优缺点汇总
| SurfaceView | TextureView | |
|---|---|---|
| 内存 | 低 | 高 |
| 耗电 | 低 | 高 |
| 绘制效率 | 及时 | 1 ~ 3帧的延迟 |
| 截图 | 不支持 | 支持 |
| 动画 | 不支持 | 支持 |