您的位置:首页 > 移动开发 > Cocos引擎

cocos ScrollView(滚动容器)加载大量item导致的卡顿问题解决方案

2017-05-23 16:22 676 查看
ScrollView(滚动容器)加载大量item时会导致游戏界面的卡顿,严重时整个界面会出现卡死的情况。最近项目中有遇到在滚动容器中加载大量item的问题,在此阐述一下自己的方法,希望对大家有所帮助。

自己所用的方案总结起来就是:分帧加载item。

1、启动定时器,每帧启动一次刷新函数

local createNodeTimer = nil
function MainCtrl:startTimer()
if createNodeTimer == nil then
createNodeTimer = cc.Director:getInstance():getScheduler():scheduleScriptFunc(ManiCtrl.update, 0, false)
end
end


2、在刷新函数体判断创建的item是否大于指定个数

local index = 1
local MAX_ITEM_NUMBER = 50
function MainCtrl:update()
if index <= MAX_ITEM_NUMBER then
self:callBack(index)
else
cc.Director:getInstance():getScheduler():unscheduleScriptEntry(createNodeTimer)
end
index = index + 1
end


3、生成item

function MainCtrl:callBack(var)
local oneRecordItem = self:generateOneRecordItem(var)
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐