Cocos Creator 通用框架设计 —— 资源管理

我自己写了一个,资源多的时候遍历,感觉效率确实不行。我在创建和销毁的时候都要把所有缓存的资源都遍历一下。

你的用法和我们现在用的有点类似??? 我们就是通过获取预制体, 然后用getDependsRecursively 去找预制体引用的资源, 然后遍历。 加入引用计数, 引用计数是用 map保存的, 删的时候 也是 getDependsRecursively 预制体引用的资源,然后遍历,然后有引用计数的-1.没有的删掉。 用起来还行, 暂时没出什么问题。

我这里说的销毁其实是对资源引用计数进行自减为0则release,等待上一模块销毁完成其实就是资源计数自减完成,更确切的说是保证销毁的上一个节点的onDestroy被调用过了,才会去执行下一个操作

每隔一段时间回来再研究下,温故知新,不过还是有个小小的疑问,不知道是因为什么原因,比如:如果一个Sprite预制件,通过您这种加载,卸载的方式,确实可以释放干净,但是不知道为什么,如果,场景中已经存在一个Sprite组件了,我只想动态loadSpite给这个Sprite组件赋值,然后不用这个组建的时候,将组件影藏,这个时候调用宝爷这个卸载方法,资源就清理不掉,这是为什么啊,还望宝爷给解答一二

牛批呀~~~~

2.4.0版本打开报错了

2.4.0的版本已经实现了更好的资源管理了,与楼主的思路都是差不多的

大佬可以兼容下2.4.0开始的版本吗

看了一下,如果根据生成出来的预制体A进行instantiate出来B物件,生成出来的B物件不放在A身上,如果释放预制体A,B的纹理也会连带释放过去,不知道我这样理解是不是ok

mark下

龙骨动画,自动释放好像会炸,选择REALTIME

大佬,可以更新到2.4.x版本上么?

收到了!这段时间忙完了,这几天先更新一个2.4.x的版本

2.4.x还要自己搞一套资源管理吗?官方不是已经做好了

1赞

坐等宝爷2.4. x版本出炉!!!!

2.4.x 还是只会对静态资源进行资源管理吧,动态资源的话,还是需要自己管理的。

期待中。。。

坐等宝爷2.4. x版本出炉!!!

大佬 2.4.2的版本兼容出来了吗,搓手等

在写,改动特别大,决定分三步走
第一步今晚或明晚提交,拉了一个2.4的分支,先保证在2.4上面基础功能正常运行。比如基本的加载卸载、UI相关的东西。
第二步逐步恢复一些原来的功能,比如说对象池、内存泄露检测
第三步再考虑Bundle的适配

1赞