Android 4.3 增加了对Open GL ES 3.0 的支持,这个版本增加了对多缓冲区对象的支持;着色语言支持32 位整数和浮点数据类型以及操作;增加了对多个纹理与多重目标渲染的支持。这些新特新大幅提高了移动平台的渲染性能。 到了Android 5.0,更是增加了一个专门负责UI渲染UIRender Thread,用来分担Android Main Thread的工作,在此之前,Android的Main Thread不仅负责渲染UI,还负责处理用户输入,而通过引进Render Thread来处理渲染工作,Main Thread可以更高专注高效地处理用户输入,这样使得在提高UI绘制效率的同时,也使得UI具有有更高的响应性。 Android 6.0后又提供了一个lockHardwareCanvas方法,用此方法可以直接得到硬件加速的Canvas。 在Android7.0之前,Surfaceview的显示也不受View的属性控制,所以不能进行平移,缩放等变换,要实现上述功能,要借助于TextureView。而到了Android 7.0时,它对SurfaceView自身和它的内容改变做了同步处理,比如通过SurfaceView实现视频播放时,对视频进行缩放变换SurfaceView会同步变化。 Android 应用图像展示的流畅性直接影响着用户体验,而本文从软件渲染,硬件渲染,非主线程渲染三个方面,对其各自的特点和流程作了简单介绍,在以后需要优化渲染性能时,我们可以选择从其一方面或多方面结合入手,来满足自己的需求。 本文作者:钱康(点融黑帮),就职于点融大前端,android开发工程师。 (责任编辑:本港台直播) |