creator3.x 龙骨动画严重的内存泄漏问题

从3.0.0开始测试到3.3.1的版本,使用一个龙骨5.5版本的动画文件,不管是把场景设置为自释放或者是手动释放动态加载的龙骨动画,在安卓设备上都存在内存泄露情况,重复调用加 载释放,或者是场景间不断的切换,内存一直增长无法回收,单个龙骨动画反复操作内存能增长到500M以上,这个问题如何解决?
@ccclass(“MainScene”)
export class MainScene extends Component{
bundle;
prefab;
fish

onBtnClick(event, custom){
	if(custom == "add"){
		this.onEnable()
	}else if(custom == "del"){
		this.onDestroy()
	}else{
		director.loadScene("test")
	}
		sys.garbageCollect()
}

onEnable(){
	assetManager.loadBundle("pre", (err, bundle)=>{
		if(!err){
			this.bundle = bundle
			this.bundle.load("anabariliusAlburnops", (err, asset)=>{
				if(!err){
					this.prefab = asset
					this.fish = instantiate(asset)
					this.fish.parent = this.node
				}
			})
		}
	})
}

onDestroy(){
	if(this.fish){
		this.fish.destroy()
		this.fish = null
	}
	if(this.prefab){
		assetManager.releaseAsset(this.prefab)
		this.prefab = null

		this.bundle.releaseAll()
		assetManager.removeBundle(this.bundle)
		this.bundle = null
	}
}

}

没有人遇到同样的问题么? 直接挂预制体在场景上,设置自动释放,两个场景来回切换内存都会只增不减啊,

还有左下角的GFX Texture mem一直增长,怎么调用release和garbageCollect 都没有用这些都是很明显的 问题呀

谢谢反馈,问题已跟进

可以试试手动释放下prefab的引用计数
while (this.prefab?.refCount) {
this.prefab?.decRef();
}
this.prefab = null
如果无法解决问题,麻烦上传下问题对应的工程

仔细看了下,我这边也是。我没用龙骨,我用的是spine,3.3.1

很明显的问题,同一套代码,我移到了2.4.6,场景间切换,骨骼动画的内存释放都正常,内存能稳定,测试12小时都处在平均值 的水平,CPU也正常,
但是从3.0开始,到3.3.1的版本,我都测试了一遍,场景间切换内存不能释放,龙骨动画内存不能释放,CPU占用100%, 切换到后台cpu都是100%, 这个都不需要什么工程,只要两个空场景,一个里面放上龙骨动画,设置自动释放,两个场景间一直来回切换,几个小时内存就能涨到七八百M,

我在chrome上调试确认都能走到release的代码,而且也没内存泄漏的情况,但是在安卓设备上就有问题,难道是有针对原生设备的什么设置么?

骨骼动画dragonBones,在 creator3.2.1这个版本里面,打的安卓的包,也会有播放动画内存一直增长的问题,一直到内存泄漏,怎么解决?

正好在做内存这块,不过我是2.4.6,也不是龙骨,而是fbx
在ios上,据测试,不管是releaseAll还是单个release,内存都不会降低,需在release后的下一帧做garbageCollect操作,必须有这一步,而且必须是下一帧

3.4 我们针对了内存做了不少优化,可以在 3.4 试试

在3.2.1该怎么处理这个问题呢,老版本就不管了嘛

确认有效的话,可以把 pr 单独合并过去