大型游戏关于内存池释放方法的疑问

你应该没有释放引用

/**
* 释放子游戏资源目录
*/
releaseDirs(config, sources) {
if (sources) { //如果有传入释放资源的目录
for (const key in sources) {
const dir = sources[key];
var deps = cc.loader.getDependsRecursively(dir);
cc.loader.release(deps);
}
cc.sys.garbageCollect();
}
},

最好连prefrab都少用,用也少放点东西。prefrab实例化的时候贼卡,效率很低

请教下,问Layout做的问题是在哪里?

结构没问题 建议从图片纹理下手 这可能是个突破点
这么大型的项目 至少处理工具都有自己的一套了吧 千万别用ScrollView 这是个巨坑

native项目嘛?

是的,原生项目

ScrollView 和 tableview 我们都有用,有啥坑?

直接将item放在功能模块prefab本身,然后clone?

你好!我在文档中没找到releaseDirs的方法,请问是releaseResDirs吗?
另外config和soureces具体应该传入什么?可以看看一下完整的示例吗?再三感谢!

哈哈 确实,我们项目一路走来 最终还是采用了一个场景

1赞

我们做了个 单场景解决方案,可能不一定适合你的大型游戏(我们做微信小游戏的),看看对你有没有什么帮助。

不懂帮顶,顺便问下思维导图是用什么软件画的,样式我很喜欢

项目中是否有用到匿名函数?
如:
cc.director.getScheduler().schedule(function(dlt) { ..... }, this, interval, !this._isRunning);

MindNode,for mac

谢谢!

1赞

好有抖音的感觉啊
不仅仅是喜欢

这个做法,现在来看,兼容性还可以吧

很明显没有认真查,一个一个模块跑

loading scene +1

整个游戏就用一个scene,内部使用prefab动态加载实现逻辑scene的飘过。。。从2dx时代就这么用,包括unity也这么用,内存自由管理不再踩雷,你只要造个小轮子就行