TextureView SurfaceView 简介 案例】的更多相关文章

简介 Android普通窗口的视图绘制机制是一层一层的,任何一个子元素或者是局部的刷新都会导致整个视图结构全部重绘一次,因此效率相对较低.视频或者opengl内容往往是显示在SurfaceView中的,SurfaceView的工作方式是:创建一个置于应用窗口之后的新窗口.因为SurfaceView窗口刷新的时候不需要重绘应用程序的窗口,所以这种方式的效率非常高. 但是SurfaceView也有一些非常不便的限制,因为SurfaceView的内容不在应用窗口上,所以不能使用平移.缩放.旋转等变换操…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com ThreadLocal 简介 案例 源码分析 MD 目录 目录先来看基本用法对ThreadLocal的理解ThreadLocal 详解正确理解 ThreadLocalThreadLocal 源码分析构造方法set 方法ThreadLocalMapget 方法总结一个类型转换的坑 先来看基本…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com protobuf Protocol Buffers 简介 案例 目录 目录简介优缺点proto3简介使用步骤下载 protobuf 编译器编写 .proto 文件编译 .proto 文件生成 java 类项目中添加 protobuf runtime测试 java 类在 Android 中使…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 集合 enum 枚举 简介 案例 目录 目录Enum 类构造方法静态方法新增的方法Object 中的方法关键字 enum测试代码最简单的定义形式详细使用案例测试在 switch 语句中使用 enum Enum 类 这是所有 Java 语言枚举类型的公共基本类. public abstrac…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com LruCache DiskLruCache 缓存 简介 案例 MD 目录 目录LruCache缓存策略LruCache 的使用LruCache 的实现原理LinkedHashMap 简介构造函数put 方法get 方法总结LruCache 源码类说明文档源码DiskLruCache缓存路径…
这几个概念比较绕, 又比较相近. 初看比较糊涂, 把握关键点就好. 关键字 View SurfaceViewGLSurfaceViewTextureView这三个后缀都是View, 所以这三个东西都是用来显示的, 和普通的View差不多, 类似TextView等. 通过历史来说明:SurfaceView 出现最早, 解决类似视频播放的问题(可以用单独一个线程来渲染UI).后来发现用起来不方便, 渲染线程需要单独编写, 一大堆都可以独立成模板.所以后来就出现了 GLSurfaceView, 概括一…
SurfaceView, GLSurfaceView, SurfaceTexture以及TextureView是Android当中名字比较绕,关系又比较密切的几个类.本文基于Android 5.0(Lollipop)的代码理一下它们的基本原理,联系与区别. SurfaceView从Android 1.0(API level 1)时就有 .它继承自类View,因此它本质上是一个View.但与普通View不同的是,它有自己的Surface.我们知道,一般的Activity包含的多个View会组成Vi…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录简介基本功能演示运行期修改类原始类修改未加载过的类修改已加载过的类获取类基本信息创建一个新类重新生成类的字节码文件原始类给类添加方法给类添加属性修改类的方法修改注解的值实现动态代理 简介 官网 GitHub WIKI -非常详细 Java bytecode engineering…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录TabLayout 简介文档简介内部类和内部接口XML attributes公共方法两种模式默认样式测试代码ActivityXML布局定义的样式 TabLayout 简介 文档简介 文档位置 依赖 implementation 'com.android.support:desig…
1.SurfaceView简介       在一般的情况下,应用程序的View都是在相同的GUI线程(UI主线程)中绘制的.这个主应用程序线程同时也用来处理所有的用户交互(例如,按钮单击或者文本输入).        遗憾的是,对于一个View的onDraw方法,不能这样做,因为从后台线程修改一个GUI元素会被显式地禁止的.当需要快速地更新View的UI,或者当渲染代码阻塞GUI线程的时间过长的时候,SurfaceView就是解决上述问题的最佳选择. SurfaceView封装了一个Surfac…