合作机构:阿里云 / 腾讯云 / 亚马逊云 / DreamHost / NameSilo / INWX / GODADDY / 百度统计
View是Android开发中UI界面的基本构建块。它是用户界面上的一个单一矩形区域,用于显示文本、图像、视频等,并且可以响应用户的触摸事件。View有很多种类,例如Button、TextView、ImageView等,每种View都有其特定的用途和属性。
View的主要功能:
View注意点:
SurfaceView是Android中一个重要的绘图容器,可以直接从内存或者DMA等硬件接口取得图像数据。它的特性是可以在主线程之外的线程中向屏幕绘图,从而避免画图任务繁重的时候造成主线程阻塞,提高了程序的反应速度。在游戏开发中多用到SurfaceView,游戏中的背景、人物、动画等等尽量在画布canvas中画出。
SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后面。
SurfaceView提供了一个可见区域,只有在这个可见区域内的Surface部分内容才可见,可见区域外的部分不可见。surface的排版显示受到视图层级关系的影响,它的兄弟视图结点会在顶端显示。这意味着 surface的内容会被它的兄弟视图遮挡,这一特性可以用来放置遮盖物(overlays)(例如,文本和按钮等控件)。
注意:如果Surface上面有透明控件,那么它的每次变化都会引起框架重新计算它和顶层控件的透明效果,这会影响性能。另外,SurfaceView变得可见时,Surface被创建;SurfaceView隐藏前,Surface被销毁。这样能节省资源。
SurfaceView和View的区别主要表现在绘制机制、性能、同步问题和适用场景等方面。
TOP