本文主要是对 Systrace 中的 Choreographer 进行简单介绍。
Choreographer是App开发不经常接触到的,但在Android Framework渲染链路中非常重要。包括 Choreographer 的引入背景、Choreographer 的简介、部分源码解析、Choreographer 与 MessageQueue、Choreographer 和 APM,以及手机厂商基于 Choreographer 的一些优化思路。
Choreographer 的引入,主要是配合 Vsync ,给上层 App 的渲染提供一个稳定的 Message 处理的时机,也就是 Vsync 到来的时候 ,系统通过对 Vsync 信号周期的调整,来控制每一帧绘制操作的时机. 目前大部分手机都是 60Hz 的刷新率,也就是 16.6ms 刷新一次,系统为了配合屏幕的刷新频率,将 Vsync 的周期也设置为 16.6 ms,每个 16.6 ms , Vsync 信号唤醒 Choreographer 来做 App 的绘制操作 ,这就是引入 Choreographer 的主要作用. 了解 Choreographer 还可以帮助 App 开发者知道程序每一帧运行的基本原理,也可以加深对 Message、Handler、Looper、MessageQueue、Measure、Layout、Draw 的理解。
主线程运行机制的本质
在讲 Choreographer 之前,我们先理一下 Android 主线程运行的本质,其实就是 Message 的处理过程,我们的各种操作,包括每一帧的渲染操作 ,都是通过 Message 的形式发给主线程的 MessageQueue ,MessageQ
本文深入探讨了Android中Choreographer的角色和工作原理,阐述了它如何与Vsync配合确保稳定的帧率,以及如何通过源码分析Choreographer的初始化、帧处理逻辑和掉帧计算。同时,文章提到了厂商针对Choreographer的优化策略,如移动事件优化、后台动画优化等,以提升App性能和用户体验。
订阅专栏 解锁全文
1070

被折叠的 条评论
为什么被折叠?



