如何设计大数据列表的虚拟化与内存控制方案
简答题困难759 次浏览
参考答案与解析
# 核心结论
大数据列表的完整方案应同时控制文档对象模型规模、响应式更新范围和客户端数据保留量。虚拟列表通过只渲染视口附近节点,将布局与绘制成本从总数据量中部分解耦;但它不等于简单截取数组,还必须处理偏移映射、动态高度、缓冲区、滚动锚定、节点复用、焦点与辅助技术。内存控制则要限制数据和缓存容量,并确保组件失效后监听器、异步任务及节点引用能够释放。
# 底层机制
固定高度列表可根据 scrollTop、单项高度和视口高度直接计算起止索引,用代表总高度的占位容器维持滚动条,再通过 transform 将可见节点移动到正确位置。其时间和空间成本主要与可视项及缓冲项数量有关,而不是与全部数据节点数量相同。
动态高度列
