基于UGUI的动态滚动列表,主要支持以下功能:
-
继承自UGUI的
SrollRect,支持ScrollRect的所有功能; -
使用对象池来管理列表元素,以实现列表元素的复用;
-
支持一行多个元素或一列多个元素;
-
可使用不同尺寸的列表元素;
-
列表数据变化后动态刷新列表元素;
用法详见工程中附带的示例,场景Scene中的Canvas1及脚本TestScript。

ScrollViewEx
当item数量巨大时,可以使用ScrollViewEx。
ScrollViewEx继承了ScrollView的所有功能,并进行了针对性的优化,它会对item进行分页,设置适当的页面尺寸可以得到更好的性能表现,详见场景Scene中的Canvas2,及脚本TestLargeAmount.cs。
以下是当有50000个item时使用ScrollView和ScrollViewEx,并指定页面尺寸30:

当随机地添加、删除数据或随机跳转时二者耗时:

项目源码