spriteFrame减少引用计数并置空后,动态图集DynamicAtlasManager仍有引用

  • Creator 版本:3.7.3

  • 目标平台: chrome浏览器

在代码中将spriteFrame减少引用计数,并且sprite.spriteFrame = null 置空后发现动态图集管理对象中仍有引用这些疑似是被我释放掉的资源,造成内存泄露?求大佬们答疑解惑

762f5cc5573eff6746df4d9a5eab980
80a717edbd7088d3ff786052533aa32

附释放资源代码
image

image

image

mask一下

啥意思呀?

mask一下

image
置空前先试下从动态合图图集里删除

:speak_no_evil:好麻烦哈哈哈哈 单场景干脆直接关闭动态图集一劳永逸了

dynamicAtlasMgr.reset(); 试试

reset会导致已显示的图集显示异常 :flushed:

引用计数-1只是,引用计数变成0了,资源在内存中,不会主动清理,如果收到系统警告,才会主动清理引用计数为0的资源。如果要自己主动清理内存,比如sprite.ondestroy()如果引用计数是0会清理图片内存。或者自己主动调比如cacheMgr.releaseUnused…

3.x好像没有cacheMgr.releaseUnused这个api哎,我用chrome调试的时候用(chrome devTools->内存-左上角的垃圾桶图标)功能 好像也并没有减少引用