Android中TextureView与SurfaceView用法区别总结

作者:wdc 时间:2023-07-20 00:29:16 

SurfaceView和TextureView均继承于android.view.View

与其它View不同的是,两者都能在独立的线程中绘制和渲染,在专用的GPU线程中大大提高渲染的性能。

一、SurfaceView专门提供了嵌入视图层级的绘制界面,开发者可以控制该界面像Size等的形式,能保证界面在屏幕上的正确位置。

但也有局限:

由于是独立的一层View,更像是独立的一个Window,不能加上动画、平移、缩放;

两个SurfaceView不能相互覆盖。

二、TextureView更像是一般的View,像TextView那样能被缩放、平移,也能加上动画。

TextureView只能在开启了硬件加速的Window中使用,并且消费的内存要比SurfaceView多,并伴随着1-3帧的延迟。

三、TextureView和SurfaceView都是继承自View类的,但是TextureView在Andriod4.0之后的API中才能使用。

SurfaceView可以通过SurfaceHolder.addCallback方法在子线程中更新UI,TextureView则可以通过TextureView.setSurfaceTextureListener在子线程中更新UI,个人认为能够在子线程中更新UI是上述两种View相比于View的最大优势。

 但是,两者更新画面的方式也有些不同,由于SurfaceView的双缓冲功能,可以是画面更加流畅的运行,但是由于其holder的存在导致画面更新会存在间隔(不太好表达,直接上图)Android中TextureView与SurfaceView用法区别总结。并且,由于holder的存在,SurfaceView也不能进行像View一样的setAlpha和setRotation方法,但是对于一些类似于坦克大战等需要不断告诉更新画布的游戏来说,SurfaceView绝对是极好的选择。但是比如视频播放器或相机应用的开发,TextureView则更加适合。

来源:https://blog.csdn.net/u010164190/article/details/54861520

标签:Android,SurfaceView,TextureView
0
投稿

猜你喜欢

  • postman测试传入List<String>参数方式

    2022-10-13 01:34:40
  • SparkSQL开窗函数分析使用示例

    2022-04-16 02:26:32
  • visual studio 2019安装配置可编写c/c++语言的IDE环境

    2023-10-04 02:01:02
  • 简单实用的Android UI微博动态点赞效果

    2023-01-07 06:32:54
  • Java元注解Retention代码示例介绍

    2023-10-21 02:32:32
  • Spring Boot2.3 新特性分层JAR的使用

    2021-08-03 12:55:50
  • Android开发中MotionEvent坐标获取方法分析

    2022-03-29 02:43:42
  • 对WPF中的TreeView实现右键选定

    2022-01-21 00:25:55
  • 浅谈java泛型的作用及其基本概念

    2022-08-10 07:53:47
  • IDEA-Maven项目的jdk版本设置方法

    2022-07-21 16:04:17
  • SpringBoot持久化层操作支持技巧

    2023-11-24 06:40:32
  • Kotlin基础通关之字符串与数字类型

    2023-06-22 13:27:35
  • 详解WPF中的对象资源

    2023-10-28 14:09:41
  • 深入理解java三种工厂模式

    2022-03-11 06:09:53
  • Java爬取豆瓣电影数据的方法详解

    2021-12-12 16:21:06
  • Android中Fragment与Activity的生命周期对比

    2021-12-12 06:28:01
  • Spark SQL 编程初级实践详解

    2022-06-13 18:37:56
  • C# TreeView无限目录树实现方法

    2023-04-20 03:05:46
  • 详解Spring循环依赖的解决方案

    2022-05-29 13:14:57
  • Winform启动另一个项目传值的方法

    2021-12-27 07:44:58
  • asp之家 软件编程 m.aspxhome.com