# 性能指标FP、FCP和FMP分别跟哪些因素有关
# 虚拟滚动的实现原理?
- 简述
通过「单个元素高度」计算当前列表全部加载时的高度作为「滚动容器」的「可滚动高度」,按该「可滚动高度」撑开「滚动容器」。并根据「当前滚动高度」,在「可视区域」内按需加载列表元素。
- 实现
- 监听滚轮事件/触摸事件,记录列表的总偏移量。
- 根据总偏移量计算列表的可视元素起始索引。
- 从起始索引渲染元素至视口底部。
- 当总偏移量更新时,重新渲染可视元素列表。
- 为可视元素列表前后加入缓冲元素。
- 在滚动量比较小时,直接修改可视元素列表的偏移量。
- 在滚动量比较大时(比如拖动滚动条),会重新渲染整个列表。
- 事件节流
← Hybrid项目优化 数据库基础 →