关于为什么使用SurfaceView,我感觉说的太牵强了,和网上的资料基本都是一个说法,个人认为,关于为什么使用SurfaceView主要有两点:
一是,如果屏幕刷新频繁,onDraw方法会被频繁的调用,onDraw方法执行的时间过长,会导致掉帧,出现页面卡顿。而SurfaceView采用了双缓冲技术,提高了绘制的速度,可以缓解这一现象。
二是,view的onDraw方法是运行在主线程中的,会轻微阻塞主线程,对于需要频繁刷新页面的场景,而且onDraw方法中执行的操作比较耗时,会导致主线程阻塞,用户事件的响应受到影响,也就是响应速度下降,影响了用户的体验。而SurfaceView可以在自线程中更新UI,不会阻塞主线程,提高了响应速度。
我认为第二点,才是为什么使用SurfaceView的主要原因,个人见解,网上的资料,太千篇一律了。