SurfaceView

来源:互联网 发布:学编程有什么好书 编辑:程序博客网 时间:2024/06/08 08:21

       SurfaceView提供一个专用的绘图面,嵌入在视图层次结构中,你可以控制SurfaceView的显示效果,如果你喜欢,你甚至可以控制它的大小.SurfaceView关心的是放置面在屏幕的正确位置

        Surface会在SurfaceView的窗口可见的时候创建出来,你应该去实现surfaceCreate(SurfaceHolder)方法和surfaceDestroyed(SurfaceHolder)方法去发现Surface的创建和销毁在窗口可见和不可见的时候

        这个类提供了一个Surface的其中一个目的是可以让两个线程去修改界面,如果你使用这种方法,那你需要注意一些东西

        1.所有SurfaceView的方法和SurfaceHolder.Callback接口的实现方法都必须在主线程中被执行,不能被子线程执行

        2.你必须保证你修改ui的线程是有效的,为什么这么说呢,因为SurfaceView认为有效的线程是必须在surfaceCreate(SurfaceHolder)方法之后被创建,在surfaceDestroyed(SurfaceHolder)方法之前被销毁

以上是对官网SurfaceView的一个翻译,不好的地方请大大们多多指导

下面还写一点我对这个控件的了解

SurfaceView采用了双缓冲机制,说明白点就是使用两个线程a和b,a修改界面的时候,b加载数据,a加载数据的时候,b修改界面,这样子可以让手机的性能更好的发挥,同时也让手机更加的费电和发热,当然了,现在我们也只关心游戏带来的流畅,而从来不关心手机是否费电.

2 0
原创粉丝点击