view、surfaceview、glsurfaceview区别

view的绘图必须在当前的UI线程中进行--这也就是更新view组件时总是要采用handler处理的原因,但surfaceview就不会存在这个问题,surfaceview的绘图是由surfaceholder来完成的,对于view组件,如果程序需要花较长时间来更新绘图,那么主UI线程会被堵塞,无法响应用户的任何动作,而surfaceviewholder则会启动新的线程去更新sufaceview的绘制,不会堵塞主线程。
glsurfaceview的作用:
在 OpenGL ES 和 View 系统之间建立联系;
使得 OpenGL ES 可以工作在 Activity 生命周期中;
可选择合适的 frame buffer 像素格式;
创建并管理一个单独的渲染线程,可以实现平滑的动画;
提供 debugging 工具和 API。

猜你喜欢

转载自362429377-qq-com.iteye.com/blog/2280957