资源释放相关疑问

我想释放的资源都是用loadResDir加载进来的prefab。
我一开始用releaseResDir来释放,发现只是释放掉了加载进来的prefab引用而并没有释放掉其他资源。
但是如果用getDependsRecursively来释放,我发现console里面引擎提示我释放掉了单色sprite的通用贴图,就是那个
default_sprite_splash还在被其他我不想释放掉的资源引用着。这是不是引擎的BUG啊?

不过最关键的问题是,用getDependsRecursively释放之后,由于default_sprite_splash被释放了,webgl会偶尔报错。

Creator 版本:1.7.0-rc.2

我在getDependsRecursively之后手动判断要删除的资源是否default_sprite_splash之后,引擎的提示还有webgl的报错都没有了,但是我觉得这未免也太麻烦了吧,还是说我资源释放姿势不对?

getDependsRecursively 释放一个 prefab 以及所有它依赖的资源

估计是把引擎里面的这个单色sprite 也释放了

我要挖坟。
我现在就是遇到这个问题。

:joy:没人理。

同问,目前也是遇到了这个问题,LZ最后是怎样解决的?

围观 围观

在动态加载资源的时候,需要对加载的资源调用getDependsRecursively方法获取所有引来的资源,这里面就可能包含default_sprite_splash资源,对这些资源进行引用计数+1,当释放的时候对所有引用计数-1,只有计数器为0的时候才能将对应的资源进行释放.这是我目前的解决方案