热门

最新

红包

立Flag

投票

同城

我的

发布
cc18868876837
码飞_CC
5 年前
truecc18868876837

浏览器的一帧:
1.首先需要处理输入事件,能够让用户得到最早的反馈;
2.接下来是处理定时器,需要检查定时器是否到时间,并执行对应的回调;
3.接下来处理 Begin Frame(开始帧),即每一帧的事件,包括 window.resize、scroll、media query change 等;
4.接下来执行请求动画帧 requestAnimationFrame(rAF),即在每次绘制之前,会执行 rAF 回调;
5.紧接着进行 Layout 操作,包括计算布局和更新布局,即这个元素的样式是怎样的,它应该在页面如何展示;
6.接着进行 Paint 操作,得到树中每个节点的尺寸与位置等信息,浏览器针对每个元素进行内容填充;
7.到这时以上的六个阶段都已经完成了,接下来处于空闲阶段(Idle Peroid),可以在这时执行 requestIdleCallback 里注册的任务。

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
SwiftUI 2021年最流行的5种iOS库 https://www.openswiftui.com/?p=838
立即登录