android菜鸟飞翔之路——SurfaceView学习

原创 2013年12月04日 16:44:47

         SurfaceView继承自View,但它与View不同,View是在UI的主线程中更新画面的,而SurfaceView是在一个新线程中更新画面。View的特性决定了它不适合做动画,因为如果画面时间过长,那么住UI线程就会被正在画的函数阻塞。所以Android中通常用SurfaceView显示动画效果。

       新建一个类,继承SurfaceView,同时实现SurfaceHolder.Callback接口,就创建了带有生命周期的回调函数并实现了SurfaceView的类。实现了SurfaceHolder.Callback接口后SurfaceView中三个重要的生命周期回调函数:

1.public abstract void surfaceCreated(SurfaceHolder holder)在SurfaceView创建时调用该函数。

2.public abstract void surfaceChanged(SurfaceHolder holder, int format, int width, int height),在SurfaceView改变时调用该函数。

3.public abstract void surfaceDestroyed(SurfaceHolder holder)在SurfaceView销毁前调用该函数。

       SurfaceView中最重要的方法应该是protected void onDraw(Canvas canvas),它是用来绘制SurfaceView画面的,其中的参数canvas 是该SurfaceView的画笔。每一次SurfaceView中画面的改变都是调用了该方法。

       通常方法是:新建一个线程类,每隔一个周期用一次SurfaceViewdeOnDraw()方法,而OnDraw()方法中的画面也有一个线程在时时改变,这样后一个线程类实现了OnDraw()画面中显示内容的变化,前一个线程类时时刷新画面,这就形成了动画。

 

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

相关文章推荐

Android菜鸟学习之路——AndroidStudio快捷键

Android Studio快捷键 Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+...

android <初级篇> 第一个工程Hello World ! ——菜鸟的学习之路

每学习一种新的开发语言,开发人员都会以一个Hello World工程来作为学习的起点。在android的学习之路上,同样,也以Hello World 作为学习的开端。 下面将描述如何创建、编译及运行...

【菜鸟的成长之路】android游戏开发学习历程——记录每天的学习内容之【第一天】

日记!对!这就是日记。           我是一个编程菜鸟,写这些东西的目的,只是给自己在枯燥的学习之余,找一种回味与复习的方式。开始准备买本日记本来写,后来觉得还是写到这地方吧,一来方便,提笔现在...

Android菜鸟的成长笔记(27)——SurfaceView的使用

前面有关自定义View中进行了绘图,但View的绘图机制存在如下缺陷:1、View缺乏双缓冲机制。2、当程序需要更新View上的图像时,程序必须重绘View上显示的整张图片。3、新线程无法直接更新Vi...

android菜鸟进阶之路——播放音乐和视频

首先先认识一下播放音乐的程序代码:在布局文件中,定义3个按钮,开始,和停止。布局文件十分简单,如下所示:          http://schemas.android.com/apk/res/a...

菜鸟的android之路——活动相关

前言  其实一开始并没有想着要学android开发,毕竟做游戏是我以前最大的梦想,当然现在也是,但是由于种种机缘巧合吧使我又开始走向了android开发的道路,毕竟和我的梦想相隔不是很远,努力前进! ...

android菜鸟进阶之路——线程的基本探究

android中线程的基本探究。

菜鸟的android之路——广播相关

android开发中的广播问题

android菜鸟进阶之路——照相机的调用(拍照和裁剪)

android的照相机的调用和裁切,图库的调用。

android菜鸟进阶之路——使用通知(通知的基本运用)

问题描述:在布局main.xml中点击按钮后,系统接收到一个通知显示在后台(类似短信微信),下拉手机点击通知,跳转到相应的界面。 main.xml中的按钮 如下:        ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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