android学习12——重载SurfaceView一些方法的执行顺序
2016-04-13 12:53
731 查看
先看代码
重写了surfaceCreated,surfaceChanged,surfaceDestroyed,onWindowFocusChanged这几个方法.运行程序,结果是:
再把程序切换到后台,结果是
public class SurfaceViewActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(new MySurfaceView(this)); } }
public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback { private SurfaceHolder surfaceHolder; private Paint paint; public MySurfaceView(Context context) { super(context); surfaceHolder = getHolder(); surfaceHolder.addCallback(this); paint = new Paint(); paint.setColor(Color.RED); } @Override public void surfaceCreated(SurfaceHolder holder) { Log.i("Logzy", Thread.currentThread().getName() + ":surfaceCreated"); myDraw(); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { Log.i("Logzy", Thread.currentThread().getName() + ":surfaceChanged"); } @Override public void surfaceDestroyed(SurfaceHolder holder) { Log.i("Logzy", Thread.currentThread().getName() + ":surfaceDestroyed"); } private void myDraw() { Canvas canvas = surfaceHolder.lockCanvas(); canvas.drawRect(0, 0, 100, 100, paint); surfaceHolder.unlockCanvasAndPost(canvas); } @Override public void onWindowFocusChanged(boolean hasWindowFocus) { super.onWindowFocusChanged(hasWindowFocus); Log.i("Logzy", Thread.currentThread().getName() + ":onWindowFocusChanged"); } }
重写了surfaceCreated,surfaceChanged,surfaceDestroyed,onWindowFocusChanged这几个方法.运行程序,结果是:
04-13 08:56:03.111 13682-13682/edu.cgxy.surfaceview I/Logzy﹕ main:surfaceCreated 04-13 08:56:03.111 13682-13682/edu.cgxy.surfaceview I/Logzy﹕ main:surfaceChanged 04-13 08:56:03.141 13682-13682/edu.cgxy.surfaceview I/Logzy﹕ main:onWindowFocusChanged
再把程序切换到后台,结果是
04-13 08:59:49.661 13682-13682/edu.cgxy.surfaceview I/Logzy﹕ main:onWindowFocusChanged 04-13 08:59:49.791 13682-13682/edu.cgxy.surfaceview I/Logzy﹕ main:surfaceDestroyed
相关文章推荐
- Gradle下载的依赖包位置
- Android中Listview实现分页加载效果OnScrollListener
- Android开发 debug的使用
- Android一个ListView列表之中插入两种不同的数据
- 关于android混淆
- android设备在ubuntu中连接后设备unauthorized未授权
- Android Framework的启动过程
- Android布局优化之ViewStub、include、merge使用与源码分析
- 山东省第二届ACM大学生程序设计竞赛:The Android University ACM Team Selection Contest
- java中的反射机制在Android开发中的用处
- 我们也说说Android.mk(5) - 案例教程
- Android stdio Ndk HelloWorld
- Android API 中文(14) —— ViewStub
- 安卓开发培训(3.1 文件读写)
- android 自定义环形进度条,渐变色
- android asmack 注册 登陆 聊天 多人聊天室 文件传输
- Android数据库框架GreenDao封装使用,易理解、易扩展
- Android Design Support Library使用详解
- RecyclerView初探
- 【转】Android Fragment 真正的完全解析(上)