曾大稳的博客

64 篇文章
11 人订阅

全部文章

曾大稳

Android setContentView()源码流程分析

我们在Activity创建的时候,都用调用setContentView()函数来设置界面,下面我们通过源码来分析setContentView()的流程。 我们先...

823
曾大稳

retrofit 源码分析

loadServiceMethod: 拿到对应的解析器,根据注解解析方法的返回类型,方法参数,网络请求的一系列参数 封装成一个对象

632
曾大稳

Android自定义GLSurfaceView

当我们需要把同一个场景渲染到不同的Surface上时,此时系统GLSurfaceView 就不能满足需求了,所以我们需要自己创建EGL环境来实现渲染操作。 注意...

1282
曾大稳

Android OpenGLES 绘制三角形 ,四边形

OpenGL ES Shader的三种变量类型uniform,attribute和varying

1293
曾大稳

队列(Queue)

看看队列在Android里面的使用 Handle消息队列 使用Handle的时候都要使用Looper.loop()

1072
曾大稳

手写 Parcelable 序列化和反序列化的具体过程

883
曾大稳

Android aidl流程简单分析

我们通过写一个从服务端(另外一个进程)获取用户名和密码作为demo来进行源码讲解。

763
曾大稳

jni基础

742
曾大稳

ffmpeg android视频解码

要解码,我们需要获取解码器AVCodec,解码器我们需要通过codec_id获取,codec_id我们需要通过AVStream获取,AVStream我们需要通过...

1131
曾大稳

ffmpeg为AVPacket添加解码头信息

FFmpeg解码获得的AVPacket只包含视频压缩数据,并没有包含相关的解码信息 (比如:h264的sps pps头信息,AAC的adts头信息),没有这些编...

2632
曾大稳

MediaCodec判断是否可以采用硬解码

具体的类型对应关系可以查看相关文档,这里在Android源码MediaCodec.createDecoderByType()里面有一些相关的对应支持类型。

1132
曾大稳

OpenGLES添加水印

理解了添加水印的原理,不管是视频水印还是图片水印都是很简单的了,只是使用的纹理不一样而已。如果是绘制文字水印的话,则需要将文字生成图片,然后将图片使用纹理绘制即...

1104
曾大稳

OpenGLES正交投影

上面我们得到的( ?)是不在归一化坐标范围内的,为了能使OpenGL正确的渲染,我们就需要把(?)以及其他边统一转换到归一化坐标内,这个操作就是正交投影

1054
曾大稳

树(Tree)以及二叉树的遍历

树(tree) 是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次...

911
曾大稳

栈(Stack源码分析)

本文所述是站在数据结构的角度。 栈可以通过链表和数组实现,先看通过数组实现的方式。

1133
曾大稳

HashMap源码分析

HashMap是一个很经典的键值对集合,从它的广泛应用程度和源码的学习角度上我们不得不去解析它。 我们先看一下HashMap的存储结构((图片均来源于网络)),...

572
曾大稳

Android ViewGroup事件分发

上篇文章已经分析了Android的Touch事件分发。如果没看的建议先看一下。Android View的Touch事件分发。 接下来我们开始写几种场景,得出一个...

992
曾大稳

Android LayoutInflater.inflate()源码流程分析

  我们在根据layout文件得到View的时候都会使用LayoutInflater.from(mContext).inflate().下面我们来分析这个获取V...

691
曾大稳

Android ClassLoader流程解读并简单方式实现热更新

ClassLoader在启动Activity的时候会调用loadClass方法,我们就从这里入手:

1232
曾大稳

startActivity时序图

lauchModle 检测: ActivityStarter.startActivityUnchecked()

873

扫码关注云+社区