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 开发的一点思考

17 年毕业开始工作到现在已快两个年头,在实际项目开发的过程中,我对 Android 开发有了一些自己的思考。本着碰撞才会有火花、讨论才会进步的理念,我把对 Android 开发的一点思考分享出来,真诚的希望可以有不同的观点,在纠结反驳之中得到最优解,共同进步。

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

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

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

特性:

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

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

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

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

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

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

[剑指offer] 机器人走格子之回溯法

地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?

[剑指offer] 二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

avatar
Ahab
witness me
FRIENDS
Moonshot