👨🏻💻 编程
-
exoplayer 代码片段逻辑分析
这段代码是用于计算 默认音频缓冲区大小 的方法,通常用于 AudioTrack 配置,以确保音频播放流畅且延迟低。它的作用是: 1. 计算 PCM 帧大小 2. 获取 AudioTrack 最小缓冲区 3. 扩展缓冲区大…
-
正则表达式简介
正则表达式(Regular Expression, 简称 Regex)全面详解 正则表达式(Regex)是一种强大的文本匹配工具,广泛应用于字符串搜索、文本处理和数据验证等场景。它通过特定的模式(pattern)匹配字符…
-
Android ViewStub 使用
ViewStub 是 Android 提供的一个轻量级 View,用于延迟加载布局,优化性能。它在 XML 中定义时不会立即占用资源,只有在 inflate() 之后才会真正创建和添加视图。 1. ViewStub 的使…
-
MotionLayout
要在 ConstraintLayout 中实现平滑的动画移动,你可以使用 MotionLayout,它是 ConstraintLayout 的一个子类,专门用于处理视图的平滑动画过渡。通过 MotionLayout,你可…
-
OpenGL 中顶点属性数据从 CPU 传输到 GPU,涉及到多个内存模型和概念
在 OpenGL 中,顶点属性数据从 CPU 传输到 GPU,涉及到多个内存模型和概念。这个过程相当复杂,包括如何管理内存、如何高效地传输数据、以及如何在 GPU 上进行处理。我会详细介绍这一过程中的关键步骤和内存模型。…
-
OpenGL 中 VAO 的概念
1. 顶点数组对象(VAO)概述 顶点数组对象(VAO,Vertex Array Object)是 OpenGL 中的一个重要概念,它是一个封装了顶点数据状态的对象。VAO 的作用是管理顶点数据(如位置、法线、纹理坐标等…
-
OpenGL 学习资源
官方文档 社区文档
-
java 中的 Supplier 接口
在 Java 中,Supplier 是一个功能性接口,它来自于 java.util.function 包。Supplier 接口代表一个提供结果的供应商,它不接受任何参数,但返回一个结果。常用于延迟计算、工厂模式和其他场…
-
lerp 函数
lerp 函数是线性插值(linear interpolation)的缩写,用于在两个值之间进行插值。它在计算动画、渐变颜色、平滑过渡等方面非常常用。 线性插值公式 线性插值的公式如下: [ text{lerp}(a, …
-
uml 经典图例