问题来了
笔者最近开发一个游戏项目,需要对UIListView
的加载速度做处理 —— 产品经理希望它可以快速加载100个Item
,且不能有卡顿的感觉。那么,问题来了,怎么样才能使UIListView
做到快速而不卡顿呢? 作为程序,只有我们知道技术的实现细节。我们知道,UIListView
是一个一个PushItem
的,你急也没用。当时我试过了常规的三种方法,它们分别是:方法1、2在实质上是一样的,都属于 延时加载 的范畴;方法3比较有趣,只有当
- 逐帧加载
- 延时加载
- 滚动到底部再加载
UIListView
监听到自己滑动到底部的时候才会去加载剩下的一部分,当然我们需要开启它的滑动监听。 如果有需要,我会在之后介绍一下这三种常规做法,这里先不作议论。 诚然,当数量不多的时候 (比如 <= 100),这三种常规方法的加载速度也算是无可厚非了。从速度上看,方法3 > 方法1 > 方法2
;但从体验上看,方法1 > 方法2 > 方法3
。这是因为方法3开始只会加载一小部分,所以你需要不停地滑动到底部、滑动到底部,直到将所有内容全部加载完毕,而方法1、2只要启动之后,就会按部就班地开始一条一条的加载。 当数量超过一定数值 (可能 >= 100,主要看需要渲染和处理Item的数据大小)后,你会发现UIListView
总是一顿一顿的,当你尝试滑动的时候,这种卡顿的感觉会尤其明显,这极其影响用户的体验。
Cocos2DX UIListView 大量加载优化方案
最新推荐文章于 2022-01-28 18:11:30 发布