Android 系统架构 —— Service 的启动
前言
之前的 Android 系统架构中我们分析了 Android 应用层的图形架构, 忽然发现应用进程还少了一个 Service 的启动没有分析
这里我们便看看 Service 的启动流程
OpenCV 基础篇 —— JPEG 编码
前言
我们常见的图片封装格式有 jpeg, png 和 webp, 其中 jpeg 和 webp 为有损封装格式
这里主要介绍一下 jpeg 的编码流程
一. 色彩空间的转化
- 将图片分割成为 8x8 的小方格(即 64 个像素的小方格), 每个小方格都会被单独处理
- 将 RGB 颜色空间对应的 3 个 8x8 的矩阵 -> YCbCr 模型的 3 个 8x8 的矩阵
OpenCV 的集成
OpenCV
https://opencv.org/
OpenCV 源码
https://github.com/opencv/opencv/releases
- 下载 opencv-3.4.4-android-sdk.zip
Android 系统架构 —— View 的事件分发
前言
View 的事件分发是我们在自定义 View 必须要掌握的技术点, Android 是支持多指触控的, 一个完整的事件序列如下
DOWN ... MOVE ... POINTER_DOWN ... MOVE .... POINTER_UP ... MOVE .... UP
可以看到一个事件序列从 Down -> UP 的过程中存在多个连续的 MOVE 事件, 若有其他手指参与还会存在 POINTER_DOWN 和 POINTER_UP 事件
- 一个 DOWN/POINTER_DOWN 称之为焦点事件, 在 MotionEvent 中用 PointerId 描述
好的了解了这个基础知识之后, 我们从 ViewGroup 的 dispatchTouchEvent 开始看看一次事件分发的流程
Android 系统架构 —— View 的软件渲染
前言
通过之前的分析可知, view 的绘制流程发生在 ViewRootImpl 的 performTraversals 中, 我们这次主要分析 View 的渲染
Android 系统架构 —— Surface 的创建
前言
通过上面一篇的分析, 我们知道: 当测量数据发生改变时, 调用 relayoutWindow 方法, 重新请求窗体大小, 这里我们就看看它是如何重置窗体大小的
Android 系统架构 —— View 的测量与布局
前言
通过图像渲染的准备的学习, 我们知道在 onResume 之后我们的 ViewRootImpl 会通过 addToDisplay 与 WMS 建立联系, 之后就会执行 requestLayout 发送的消息执行 View 的遍历操作
这里我们就 requestLayout 入手分析 View 的变量
共计 84 篇文章,11 页。