加载远程图片时创建了个Texture2D,在不用的时候,我没有对其进行销毁,只是把sprite的spriteFrame置为null,为啥Texture2D不会被释放掉?是在哪里还被引用着吗?

这个帖子有讲Texture2D会占据着内存

cc.loader.release(cc.loader.getDependsRecursively(cur_spriteframe))
3.x的不懂呀,2.2.2是这样释放的,你看下文档,应该有释放的代码

引擎有缓存引用的

不然为什么要调用释放的接口

因为你的texture还在assetmanager里面缓存了资源呀,直接将对象置为null并不会释放资源,得走官方得释放流程.此外,texture底层还有c++的引用,除了释放js本身对象,还要释放C++那部分,不过这是引擎的事情了,你不必关心

底层c++部分

好像确实是缓存着 :sweat_smile:

+1 小程序也这样。怎么释放啊。assetManager.releaseAll();无效。无法释放图片的。