自己定义控件(2.2):SurfaceView和SurfaceHolder

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己定义控件(2.2):SurfaceView和SurfaceHolder相关的知识,希望对你有一定的参考价值。

本例需求及流程:
Activity载入自己定义的SurfaceView-> SurfaceView 构造器中启动线程A。循环改变SurfaceView的x,y坐标,当x,y坐标到某点时设渐显标志位picAlphaFlag为true -> Surface创建时即surfaceCreated中,启动线程B,循环依据SurfaceView的x,y(被线程A循环改变)实时绘制图的位置,而且picAlphaFlag为true时,渐显还有一张图。

本例可优化点(个人意见):
1.线程A和线程B可合并;

本例启发:
1.SurfaceView通常都用自己定义的;
2.SurfaceView通常都配1个以上子线程,运行耗时操作如绘制等;
3.SurfaceView通常都实现了SurfaceHolder.Callback接口,主要用来管理生命周期surfaceCreated和surfaceDestroyed。
 
 
 

以上是关于自己定义控件(2.2):SurfaceView和SurfaceHolder的主要内容,如果未能解决你的问题,请参考以下文章

Android多媒体功能开发——使用VideoView控件播放视频

Android MediaPlayer+SurfaceView播放视频(附Demo)

SurfaceView和SurfaceHolder的基本用法

SurfaceView与TextureView

android之surfaceView学习

Android SurfaceView导致屏幕闪烁