SurfaceView与View的区别
来源:互联网 发布:mysql免费可视化工具 编辑:程序博客网 时间:2024/05/13 05:37
1.为什么提出SurfaceView?
Android系统提供了View进行绘图处理,那么为什么还要提出SurfaceView呢?因为Android系统通过发出VSYNC信号来进行屏幕的重绘,刷新时间间隔为16ms。如果View在16ms内完成绘图的逻辑,那么用户在视觉上就不会出现卡顿感觉;反之如果执行逻辑繁琐,需要频繁刷新页面,例如:游戏界面,那么就会不断阻塞主线程,从而导致画面卡顿。在自定义Log中经常会出现警告:"Skipped 47 frames! The application may be doing too much work on its main thread"为了避免这一问题产生,Android系统提供了SurfaceView组件来解决这个问题。
2.SurfaceView与View的区别?
View适用于主动更新,SurfaceView适用于被动更新,例如频繁更新
Viwe在主线程中对画面更新,而SurfaceView 通常会通过子线程来刷新
View在绘图过程中没采用双缓冲机制,而SurfaceView在底层就实现了双缓冲机制
总结一句话:如果你自定义View需要频繁更新,进行繁琐的绘图逻辑,刷新时处理数据量大,都可以考虑使用SurfaceView替代
3.自定义SurfaceView模版
0 0
- SurfaceView与View的区别
- SurfaceView与View的区别
- SurfaceView与View的区别
- View与SurfaceView的区别与联系
- View与SurfaceView的区别与联系
- Android surfaceView 与View 的区别
- Android surfaceView 与View 的区别分析
- view 与surfaceview画图的区别
- SurfaceView 和 View的区别
- SurfaceView 和 View的区别
- SurfaceView和View的区别
- surfaceView和View的区别
- View和SurfaceView的区别
- SurfaceView和View的区别
- Surfaceview和view的区别
- SurfaceView和View的区别
- SurfaceView和View的区别
- surfaceview的更新屏幕与view的区别
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
- Spring 整合 Redis
- 2015 ACM/ICPC Asia Regional Shanghai
- MySQL 快速构造一亿条记录的表
- 10312
- SurfaceView与View的区别
- Days41Sensor
- 跟ArthurXF学从雅虎抓取股票数据的方法
- 先模仿再思考-----SSM整合开发过程遇到的问题之一
- Spark性能调优之——在实际项目中使用Kryo序列化
- poj 3278 Catch That Cow
- SSM搭建-Spring mvc基于注解的配置(13)
- jQuery中$.ajax()和$.getJson()同步处理详解
- Redis之——Spring整合Redis