跳到内容

OpenGLES开发透明通道视频备忘录

最近在做带透明MP4视频的渲染播放,原理就是视频的一半是只有黑白颜色的透明通道,另一半则是视频原来的画面,只要利用OpenGLES在渲染时提取原来画面的对应位置上的透明通道的透明度,设置到原来画面的像素上,就可以达到播放透明视频的效果。

原理很简单,实现也不难,但是中间遇到了一些坑,折腾了一段时间才弄明白,主要原因还是基础原理不了解,还是要多学习。

Linux下罗技优联鼠标的简略指北

最近陪我征战10多年的IO1.1光(左)荣(键)退(双)休(击)了,想来修修补补用到现在,实在不容易。如果微软出IO1.1复刻,我直接买爆。

本来可以再修一下继续用,但是想来还是不折腾了,直接下单MX Master 3。不得不说,手感确实还可以,办公一流,但前提是可以用Logitch Options。那么问题来了,罗技并没有出基于Linux版本的Logitch Options……

为了解决这个问题,我所找到的方案有:

setLayoutParams和onMeasure

C++中的&和*

关于C艹中的&和*的作用,其实是比较基础的知识,但是一段时间不碰就要忘(记性不好),所以要做点笔记方便查找。

C++中typedef和指针结合时理解

C++中的顶层const

C++的内存分配

MediaCodec编码摄像头数据时控制帧率的方法

关于取模运算和取余运算

RxJava的一些线程问题

Flutter先导篇

RecyclerView重写ItemAnimator导致的Bug

The ABC of Dart Part 8 - 并发

说到Dart中的并发,这里需要先介绍一下Dart中的异步机制,以下内容转自Dart异步任务与消息循环机制

翻译自https://www.dartlang.org/articles/event-loop/

异步任务在Dart中随处可见,例如许多库的方法调用都会返回Future对象来实现异步处理,我们也可以注册Handler来响应一些事件,如:鼠标点击事件,I/O流结束和定时器到期。

这篇文章主要介绍了Dart中与异步任务相关的消息循环机制,阅读完这篇文章后相信你可写出更赞的异步执行代码。你也能学习到如何调度Future任务并且预测他们的执行顺序。

在阅读这篇文章之前,你最好先要了解一下基本的Future用法。

The ABC of Dart Part 7 - 异步

Dart中没有线程这种概念,或者说对线程进行了包装,调用者无法对线程进行直接的操作。所以Dart为异步操作提供了一些对应的API和关键字,分别有:

  • async和await关键字
  • Async*、sync*、yield*关键字和Stream的API
  • Future的API

细分下来还是挺多内容的,尤其像Stream这种流式操作,网上相关的资料都叙述得不够详细。

The ABC of Dart Part 5 - 操作符重载

Dart可以像C语言一样重载部分操作符。支持重载的操作符有:

< + ^ []
> / & []=
<= ~/ << ~
>= * >> ==
- %

Vincent Tam

Vincent Tam

Debug表演艺术家

珠海