SurfaceView初步
2016-02-10 05:26
197 查看
View是通过onDraw方法在Canvas上面绘制自身,View其实是在UI线程中进行绘制
SurfaceView是View的子类,不需要实现onDraw方法,而SurfaceView是在子线程中对自己进行绘制
因此SurfaceView能避免造成UI线程阻塞
SurfaceView包含一个专门用于绘制的Surface,该Surface包含一个Canvas
那么问题来了,如何获得Canvas?
getHolder--->SurfaceHolder
holder--->Canvas
SurfaceHolder不仅可以拿到Canvas,而且还管理着SurfaceView的生命周期!
SurfaceView的生命周期有三个方法:surfaceCreated,surfaceChanged,surfaceDestroyed
SurfaceView是View的子类,不需要实现onDraw方法,而SurfaceView是在子线程中对自己进行绘制
因此SurfaceView能避免造成UI线程阻塞
SurfaceView包含一个专门用于绘制的Surface,该Surface包含一个Canvas
那么问题来了,如何获得Canvas?
getHolder--->SurfaceHolder
holder--->Canvas
SurfaceHolder不仅可以拿到Canvas,而且还管理着SurfaceView的生命周期!
SurfaceView的生命周期有三个方法:surfaceCreated,surfaceChanged,surfaceDestroyed
相关文章推荐
- 【树状数组】2016 BUPT Winter Training #2 D
- SpatialHadoop中空间索引系列之(九)B树索引
- 12. Integer to Roman
- 我与小娜(08):人工智能的伟大胜利
- SpatialHadoop中空间索引系列之(八)现有空间数据库的索引方式
- java 基础总结 -- enum 枚举的基础使用
- c++ const关键字总结
- Java认证考试实例疑难辨析(3)
- HTML页面布局:td里包含一个img,总会出现一条空隙?
- c++ static 关键字总结
- Java多线程
- 谈谈AOP应用层切面设计
- Finals in arithmetic 分类讨论
- Python爬虫:抓取手机APP的传输数据
- Fiddler抓取手机APP数据包
- 【计划】近期要做的种种事情
- centos 6.6 hadr db2-10.5.1 express-c
- NOI导刊游记
- LINQ体系的研究
- javascript笔记4-函数表达式