Ahab's Studio.

Ahab's Studio.

Great hopes make great man

Android 集成 FFmpeg (四) 轻松实现一个音视频编辑 App

在网上看到一篇关于 FFmpeg 的文章,讲的大概是基于 FFmpeg 实现了一个 App,支持视频拼图等强大炫酷的音视频编辑功能,其原理是在 Android 端集成 FFmpeg,通过命令方式调用 FFmpeg。

尽管在 Android 端集成命令方式调用并不复杂,但一个具有强大炫酷音视频编辑功能的 App 是有价值的。由此启发,并决定敲下 Android 集成 FFmpeg 系列的第四篇,以一个实际应用的方式展现 FFmpeg 强大的音视频编辑功能。

Android OpenGL ES(二)绘制三角形

通过上篇文章的学习,现在已经了解到,要想在 Android 端使用 OpenGL ES 绘制图形,必须创建 OpenGL ES 环境和视图窗口,具体来说就是构建 EGL 环境,即 OpenGL ES 和 Android 底层平台视窗系统之间的接口。另外 OpenGL ES 2.0 版本为可编程管线,我们就可以编写着色器程序来确定绘制内容,即编写 Vertex Shader 顶点着色器和 Fragment Shader 片元着色器。

而这些工作可以通过 GLSurfaceView 非常简单的实现。

Android OpenGL ES(一)开发入门

早就听过大名鼎鼎的 OpenGL,却迟迟没有实践学习,有些惭愧。今天开始通过实践+博文方式学习掌握 OpenGL。此文对于 OpenGL 的学习分为以下部分:

  • OpenGL 基础概念
  • OpenGL 坐标系理解
  • OpenGL 渲染管线
  • OpenGL 着色语言
Android 知识简记
网络:分层模型、TCP、UDP、HTTP、HTTPS 算法:数据结构、常用算法 Java 基础:StringBuilder、泛型擦除、Exception、IO、容器 Java 同步:volatile、wait、synchronized、可重入锁、乐观锁、死锁 Java 设计模式:六大原则、23 种设计模式、动态代理 Java 虚拟机:内存模型、内存结构、GC、四种引用、ClassLoader Android 基础:Activity、View 绘制、动画、Window、SurfaceView、事件分发 Android 通信:Handler、Parcelable、IPC、Binder An...
对 Android 开发的一点思考

最初的时候,你是否是一个完美主义者,不容忍任何一点 warning 与叹号,if 必有 else,switch 必有 default,即使 else 和 default 中确实什么也不用处理,你也会添加一个 //do nothing 注释,表示这里的逻辑是经过充分考虑的,下次阅读程序时,告诉别人也告诉自己,这里的确什么也不用处理,可以快速跳过。

一个轻量的 Android 端日志打印记录库

地址:https://github.com/yhaolpz/PLog

PLog 即 Persistence Log,可持久化日志于文件,便于还原用户使用场景,解决异常问题。

特性:

1.mmap 方式高效写入,规避 IO 操作带来的性能消耗

2.兼容多进程并发文件写入,日志文件保存在各自的进程目录下

3.通过 zip 压缩并加密,节省上报流量,保护日志私密性

4.内置收集 Activity/Fragment 生命周期、崩溃、网络状态等常用信息:

单例的线程安全及序列化问题

单例模式可以说是最简单的设计模式了,但在使用时也有一些问题需要注意,比如线程安全性和序列化破坏。本文以几个问题为出发点,分析延迟加载、线程安全以及序列化三个方面,深入了解一下单例模式的各种姿势,以便在今后使用时追求极致性能 ⊙﹏⊙‖∣°

avatar
Ahab
witness me
FRIENDS
Moonshot