Android提高第三篇之SurfaceView与多线程的混搭

原创 2010年11月04日 11:31:00

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!

         上一篇简单介绍了SurfaceView的基本使用,这次就介绍SurfaceView与多线程的混搭。SurfaceView与多线程混搭,是为了防止动画闪烁而实现的一种多线程应用。android的多线程用法与JAVA的多线程用法完全一样,本文不做多线程方面的介绍了。直接讲解SurfaceView与多线程的混合使用,即开一条线程专门读取图片,另外一条线程专门绘图。

        本文程序运行截图如下,左边是开单个线程读取并绘图,右边是开两个线程,一个专门读取图片,一个专门绘图:

对比一下,右边动画的帧速明显比左边的快,左右两者都没使用Thread.sleep()。为什么要开两个线程一个读一个画,而不去开两个线程像左边那样都“边读边画”呢?因为SurfaceView每次绘图都会锁定Canvas,也就是说同一片区域这次没画完下次就不能画,因此要提高动画播放的效率,就得开一条线程专门画图,开另外一条线程做预处理的工作。

main.xml的源码:

本文程序的源码:

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

可以在子线程绘画的View SurfaceView

转载请注明出处:王亟亟的大牛之路最近两天都没有写文章,一方面是自己在看书,一方面不知道写什么,本来昨天想写Glide或者RxAndroid的东西结果公司的“狗屎”网怎么都刷不好Gradle我也是无语了...
  • ddwhan0123
  • ddwhan0123
  • 2016年03月22日 16:36
  • 5777

Android视图SurfaceView的实现原理分析

在Android系统中,有一种特殊的视图,称为SurfaceView,它拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面。由于拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独...
  • Luoshengyang
  • Luoshengyang
  • 2013年03月16日 16:57
  • 198996

SurfaceView 基础用法

Android 游戏开发框架核心组件SurfaceView
  • zhaoyw2008
  • zhaoyw2008
  • 2015年05月18日 17:33
  • 22536

Android提高第三篇之SurfaceView与多线程的混搭.docx

  • 2012年12月06日 13:35
  • 681KB
  • 下载

Android提高第三篇之SurfaceView与多线程的混搭

Android提高第三篇之SurfaceView与多线程的混搭  上一篇简单介绍了SurfaceView的基本使用,这次就介绍SurfaceView与多线程的混搭。SurfaceView与多线...
  • wangjigaoyi
  • wangjigaoyi
  • 2016年07月14日 11:09
  • 5153

Android提高第三篇之SurfaceView与多线程的混搭

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!         上一篇简单介绍了SurfaceView的基本使用,这次就介绍SurfaceView与多线程的混...
  • hmc1985
  • hmc1985
  • 2011年07月27日 15:58
  • 447

Android提高第三篇之SurfaceView与多线程的混搭

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!          上一篇简单介绍了SurfaceView的基本使用,这次就介绍SurfaceView...
  • hupuxiang
  • hupuxiang
  • 2012年03月15日 11:49
  • 570

Android学习3: SurfaceView与多线程混搭

今天学习了一下Android里面的多线程调用. 使用SurfaceView来显示系统文件夹下面的一些图像. 一个线程来读取图片生成Bitmap, 另个一下线程来绘制图片. 这个例子还是有一些BUG, ...
  • robertkun
  • robertkun
  • 2015年01月16日 10:05
  • 912

3.SurfaceView与多线程的混搭

上一篇简单介绍了SurfaceView的基本使用,这篇就介绍SurfaceView与多线程的混搭。SurfaceView与多线程混搭,是为了防止动画闪烁而实现的一种多线程应用技术。android的多线...
  • knockheart
  • knockheart
  • 2013年06月29日 16:38
  • 665

SurfaceView与多线程的混搭

转自http://blog.csdn.net/hellogv/article/details/5986835 SurfaceView与多线程混搭,是为了防止动画闪烁而实现的一种多线程应用技术。and...
  • u010436741
  • u010436741
  • 2013年10月31日 13:27
  • 782
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android提高第三篇之SurfaceView与多线程的混搭
举报原因:
原因补充:

(最多只允许输入30个字)