此次优化实现目的 :节约空间 + 不会造成加载卡顿。
最近有用到Cocos Creator引擎编写游戏,遇上了一个像排行榜之类的列表性功能,由于展示的数据偏多,只使用Creator集成的 ScrollView会出现2个问题,这边给大家分享一下,希望你们少踩坑。
问题:
1 、 加载慢
2 、 数据量多但是使用到的很少,像总数据量为100个,但一页只能展示10个或者5个这种就需要做优化了,因为作为一名优秀的游戏开发(虽然还不是 hhh)不是只要做出来功能就可以了,而作为立志于未来的开发当然更要追求稳定 高效,多给计算机留点内存,让它少卡一会,万一哪天坏了,那你岂不是连new对象的机会都没了。
解决思路:
1、加载慢处理方法:加载慢,会导致卡顿导致的用户体验较差,我这次采用的是异步处理方式,在回调中提前创建好需要使用的节点(这里引入缓存的概念),这里具体要不要设置位置这个无所谓,但是父节点一定要挂载在ScrollView子节点content节点上,还要注意锚点设置,否则可能会让你吃一个大大的亏。
cc.director.getScheduler().schedule(this.CreateItemPrefab.bind(this), this, 0, this.cacheItemLen - 1, 0, false);`
//创建item
public CreateItemPrefab()
{
let self = this;
let item = cc.instantiate(this.itemPrefab);
if(!self.itemWid