SurfaceHolder源代码分析
来源:互联网 发布:战地4网络不好会掉帧吗 编辑:程序博客网 时间:2024/06/06 14:19
package android.view;import android.graphics.Canvas;import android.graphics.Rect;public interface SurfaceHolder { @Deprecated public static final int SURFACE_TYPE_NORMAL = 0; @Deprecated public static final int SURFACE_TYPE_HARDWARE = 1; @Deprecated public static final int SURFACE_TYPE_GPU = 2; @Deprecated public static final int SURFACE_TYPE_PUSH_BUFFERS = 3; public static class BadSurfaceTypeException extends RuntimeException { public BadSurfaceTypeException() { } public BadSurfaceTypeException(String name) { super(name); } } public interface Callback { public void surfaceCreated(SurfaceHolder holder); public void surfaceChanged(SurfaceHolder holder, int format, int width, int height); public void surfaceDestroyed(SurfaceHolder holder); } public interface Callback2 extends Callback { public void surfaceRedrawNeeded(SurfaceHolder holder); } public void addCallback(Callback callback); public void removeCallback(Callback callback); public boolean isCreating(); @Deprecated public void setType(int type); public void setFixedSize(int width, int height); public void setSizeFromLayout(); public void setFormat(int format); public void setKeepScreenOn(boolean screenOn); public Canvas lockCanvas(); public Canvas lockCanvas(Rect dirty); public void unlockCanvasAndPost(Canvas canvas); public Rect getSurfaceFrame(); public Surface getSurface();}
在看SurfaceView时,得知利用SurfaceHolder来控制Surface,所以对这个Holder进行了了解。以上就是source for sdk中关于SurfaceHolder的源代码。
通过阅读该代码段,我们了解到在该接口中,主要就是需要实现Callback接口以及重写其中的created、changed和destroyed方法。对于画布Canvas的操作主要就是LOCK和UNLOCK
- SurfaceHolder源代码分析
- SurfaceHolder
- SurfaceHolder
- 源代码分析
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceView,SurfaceHolder,SurfaceHolder.CallBack
- SurfaceHolder API
- SurfaceHolder.Callback
- SurfaceView,SurfaceHolder
- SurfaceHolder.Callback
- SurfaceHolder.Callback
- SurfaceHolder简述
- SurfaceHolder.Callback
- SurfaceHolder.Callback
- SurfaceHolder.Callback
- SurfaceHolder.Callback
- OS X 10.8 安装perl GD::Graph
- 大话设计模式--备忘录 Memento -- C++实现实例
- JDBC连接MySQL数据库
- Servlet监听器 Listener
- Ubuntu navicat for mysql 安装和使用
- SurfaceHolder源代码分析
- integer string极速互转 优化过程
- 理解DOMString、Document、FormData、Blob、File、ArrayBuffer数据类型
- win7 下截图问题
- I2C
- S3C2440的ADC接口
- 如何让tomcat调用64bit的jre
- 【discuzx2】discuz论坛系统中是不能使用jquery框架的,如需要使用jquery框架,按照如下方式操作
- Eclipse Class Decompiler——Java反编译插件