资源释放不干净

用模拟器跑,在调用clear之前有先把指定节点的node.spriteFrame=null;但是每次重新加载赋值再释放,一直同样的操作,内存会慢慢的上涨,每次释放完都有调用cc.sys.garbageCollect()

引擎是2.1.2版本的

而且发现web的,调用释放接口。内存不会立马下降。这个时候再加载刚刚释放的资源,内存会继续上涨,一直操作一直涨

sfsdfdfsdfsdf

由于js自身GC的原因释放准确时间不可控制

那有接口可以知道资源是否已经释放了的吗,不然只要有做资源释放,就会很容易出现资源没有彻底释放,又加载这个资源导致内存越来越高

请问是不是红色箭头里面的资源一直在,就说明它一直没有被释放,一直占着内存?

你用的哪个版本2.4以下可以打印cc.loader._cache来查看哪些资源被释放了哪些还在缓存中,但是也不是绝对的原因和上面一样
_cache里面虽然没有资源引用了但是如果js资源回收还没开始那么他就还占着内存,所以逻辑上你自己要避免这种情况

有办法知道说某个资源还在不在内存吗,如果知道还在内存,就可以直接用,不用再去加载了

cc.loader[’_cache’] 所有已加载好的资源引用

cc.loader[’_cache’] 没办法以这个为准,有时候资源在这里面已经被移除了,但它可能还占着内存,没有被移除干净

不在_cache中的在下一次gc到来理论上是会被释放的

分两块儿吧 1显存 2内存
如果调用过了 cc.loader.release 那么显存是一定会被释放掉的,内存有没有释放就看你代码里有没有引用到了。

就一个地方用到。我release之前有线置空一下。但是,内存好像并没有被释放