1.7正式版
ios 原生
1.项目中使用了cc.loader加载了一些cc.Prefab和cc.SpriteFrame资源,使用正常
但是在释放的时候遇到一些问题:
使用cc.loader通过url加载Prefab->prefab实例化后->添加到场景->调用destroy()->通过加载的url使用如下:
var deps = cc.loader.getDependsRecursively(url); cc.loader.release(deps);
在xcode并没有看到内存回落(观察了很长时间).
而且释放的时候有的资源会有一些警告:
Simulator: JS: "/Users/syuuhi/Developer/Code/Alchemy/library/imports/e9/e9ec654c-97a2-4787-9325-e6a10375219a.json" was released but maybe still referenced by "resources/Prefabs/UI/shop" (type: cc.Prefab, uuid: 58ec55d1-6de7-4cdf-89d6-54bde5488910)
2 . 使用动态加载的资源可以在scene中正常使用,跳转到别的scene的时候(这里会加载该scene会用到的资源),内存明显会回退.但会稍微滞后,两个scene互相切换内存貌似释放正常(都在编辑器里勾选了自动释放),但是现在问题就是在当前scene中加载后的prefab和spriteframe明显是释放不了的.
这个问题很麻烦啊,内存处理不好根本没法用.有没有大佬有解决方案啊,希望官方给个解决办法啊,之前看到有好多相关的帖子,但最后都不了了之.
求关注,求帮顶
更新一下
放上一个demoReleaseTest.zip (1.1 MB),问题很明显
后来等了7分钟内存有回落,但是这期间我再重新加载并add,内存还是会涨并且还会新加载而不是直接利用已加载的资源,也就是说刚才的release只是把加载到的资源列表清理了,但是实际的资源并没有及时释放(主要是这7分钟是不是时间太久了)