移动端开发
-
Android 屏幕刷新机制:ViewRootImpl、Choreographer、Surface、SurfaceFlinger关系详解手机开发
前面有学习了Android绘制的三大流程:merge、layout、draw,但是一直都没有搞清楚绘制到显示的整体流程。借此机会,记录下自己学习过程。 我们都知道,一次完整的录制时…
-
Android binder连接中,服务端如何知道客户端断开情况详解手机开发
在IPC 利用 binder连接过程中,客户端断连,服务端如何知道呢? 这里的客户端和服务端都运行在不同的进程。 一般来说,我们使用Android的binder,都直接用aidl帮…
-
LinearLayout 绘制流程解析详解手机开发
太久没有好好学习Android的基础知识了,趁机好好静下心来学习、输出。 LinearLayout绘制流程解析 RelativeLayout绘制流程解析 ListView绘制流程解…
-
Android 写一个属于自己的Rxjava(一)详解手机开发
目录 Android 写一个属于自己的Rxjava(一) Android 写一个属于自己的Rxjava(二) 背景 之所以想要自己动手写一个简单的Rxjava,并不是想证明自己多厉…
-
Android 写一个属于自己的Rxjava(二)详解手机开发
目录 Android 写一个属于自己的Rxjava(一) Android 写一个属于自己的Rxjava(二) 前言 上一篇实现了Rxjava基本的Observable和map操作符…
-
Glide原理(三):图片解析处理、ImageView保证大小详解手机开发
Glide 怎么判断解析图片的 Glide 怎么保证ImageView宽高? Glide 怎么判断图片旋转角度 以上三个问题是我自己在做一个图片池遇到的问题,趁机好好学习Glide…
-
SurfaceFlinger学习之路(一)View的绘制流程详解手机开发
SurfaceFlinger是Android图像渲染的一个非常重要的模块。 文章目录 Android 系统启动流程 Window创建过程 1.创建window 2.setConte…
-
SurfaceFlinger学习之路(二)Surface的创建详解手机开发
文章目录 SurfaceComposeClient 小结 Client 小结 SurfaceControl 1. 创建 WindowSurfaceController 2. Sur…
-
属性动画原理解析详解手机开发
文章目录 属性动画 属性动画的使用 动画监听 插值器(Interpolator) 估值器(TypeEvaluator) 属性动画的两个条件 属性动画原理解析 ObjectAnima…
-
SurfaceFlinger学习之路(三)BufferQueue原理详解手机开发
文章目录 组件介绍 GraphicBuffer GraphicBufferAllocator 共享内存 GraphicBuffer和FrameBuffer的关系 BufferQue…