用模拟器跑,在调用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之前有线置空一下。但是,内存好像并没有被释放

