主页

Android 系统架构 —— 图形渲染的准备

前言

我们平时开发的过程中最常打交道的是 View 和 Window, 他们是能够呈现视图的关键所在, 这里我们以 Activity 的启动为例, 从如下三个方面来了解一下图形渲染的准备过程

  • Window 的创建与初始化
  • 为 Window 填充 View
  • 与 WMS 建立联系

下面我们一一分析

阅读更多

Android 系统架构 —— 图形架构篇 概览

前言

Android 的图像处理架构是非常庞大且复杂的, 并且经历了好几个版本的变更, 相关信息如下

Android 版本 渲染变更
Android 3.0 阶段 开始支持硬件加速
Android 4.0 阶段 默认开启硬件加速
Android 4.1 阶段 1. 引入了 VSYNC 垂直同步信号
2. Triple Buffering 三缓冲机制(为了解决 A 帧被屏幕占用, B 帧被 GPU 占用, CPU 此时无法准备下一帧的问题)
Android 4.2 阶段 开发者选项中引入了过度渲染监控工具
Android 5.0 阶段 1. 引入了 RenderNode 来保存 View 的绘制动作 DisplayList
2. 引入了 RenderThread, 所有的 GL 命令都在 RenderThread 中进行, 减轻了 UI 线程的工作量
Android 7.0 阶段 引入了 Vulkan 的硬件渲染引擎

阅读更多

Android 系统架构 —— Activity 的启动 之 应用进程的启动

前言

通过 Step 1 我们知道, Activity 的启动会

  • 通知 Client 进程将请求的 SourceActivity 置为 Paused 状态
  • 通知 AMS 所在进程, SourceActivity 已经 Pause 成功了
  • 调用 ActivityStackSupervisor.resumeFocusedStackTopActivityLocked 继续执行目标 Activity 的启动
    • 这个方法我们上面分析过, 它内部会回调 ActivityStack.resumeTopActivityInnerLocked 来激活当前栈顶的 Activity, 即我们的 TargetActivity

接下来就看看 resumeTopActivityInnerLocked 的实现

阅读更多