cocos2dx 资源加载的问题

项目一开始加载了游戏所需要的所有资源,造成了内存占用过高的情况。

记录下当前的解决思路吧:

统计下个场景要加载的资源。在replaceScene的时候,首先根据要加载的资源以及当前这个场景做比较,找出不需要的资源释放掉,同时加载那些当前不存在的资源,估计要用到的常用到的函数分别为:

ccs.ArmatureDataManager:getInstance():removeArmatureFileInfo(k);

cc.Director:getInstance():getTextureCache():removeUnusedTextures();

ccs.ArmatureDataManager:getInstance():addArmatureFileInfoAsync;


下面上lua代码的思路

function CReplaceScene:ReplaceScence(replaceFn,bHasProgress,...) --(...表示要加载的资源表等) --replaceFn表示处理完资源的回调,通用用于切换场景

local sceneLoading = CLoadingScene:Create(replaceFn,...);
cc.Director:getInstance():replaceScene(sceneLoading);

end

其中,上述思路为,切换到loadingScene加载完资源之后,调用replaceFn切换到目标场景。CLoadingScene里面要说的是就是上面所说的找出要释放的资源以及需要加载的资源。


--以上是自己在项目中看到别人所写而自己理解的,有可能有误,需谨慎。以后有了新的理解之后在进行补充........

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...