虚拟化列表

Image showing the virtualized list

VirtualizedScrollRectList 是一个帮助程序组件,可表示 ScrollRects 中的超大型列表,而无需支付大量 GameObject 的成本。 实现方法是维护一些完全覆盖 ScrollRect 可见区域的 GameObject,并在列表上下滚动时重用和重新定位它们。

可以在 VirtualizedScrollRectList 场景中找到示例。

脚本编写

使用此项并不像将其作为组件添加到你的 ScrollRect 中那么简单,它还需要一些代码才能开始执行。 下面是需要执行的操作:

  • 调用 VirtualizedScrollRectList.SetItemCount 以了解拟化列表中的项数。
  • OnVisibleOnInvisible 添加回调,以便可以使用与提供的索引关联的数据填充该预制件。
  • 随着列表随时间的变化,更新 VirtualizedScrollRectList 的项计数表示形式。

注意

VirtualizedScrollRectList 将回收池中的所有 GameObject,并依赖于你通过回调 OnVisibleOnInvisible 来(重新)设置对预制件的任何更改。 换句话说,你对 GameObject 所做的更改不会被 VirtualizedScrollRectList 清除。

Prefab

可以在检查器中设置所需的预制件。 列表中的每个 GameObject 都将是此预制件的实例。

Image showing the inspector for a virtualized list