[]背景音乐播放内存问题

请教下,在playMusic播放背景音乐的时候,把浏览器切到后台再切回来,每次都会增加几十M内存,如果不执行SoundManager中的_stageOnFocus就没事,请问这个是为啥呢
已邀请:

Aar0n

赞同来自:

这个发个demo 来看一下吧
 

douzhix

赞同来自:

发完了,初始内存应该是47M,shift+esc把chrome管理器调出后,再把chrome调回到前台,内存就变成70M了

douzhix

赞同来自:

对了,我把引擎类中的WebAudioSound类的dispose方法改了,改成了这样:
 

public function dispose():void {
delete _dataCache[url];
delete __loadingSound[url];
this.audioBuffer = null;
this.data = null;
this.__toPlays = [];
super.dispose();
}
 
如果不添加最后4行代码的话,每次切换回来内存就都会上涨了,现在是只有第一次上涨,之后就不会了

Aar0n

赞同来自:

我这里没有涨,你是怎么涨的?我按照你说的,切过去又切回来

douzhix

赞同来自:

按shift+esc切出chrome任务管理器,再点击chrome,就会这样了。你可以把我上面说的WebAudioSound的dispose方法改了,就能看出来了

Aar0n

赞同来自:

我这是每次都不涨

douzhix

赞同来自:

用这个项目看吧

Aar0n

赞同来自:

这个已经确认,然后已经将引擎库按照你的改法改了

Aar0n

赞同来自:

把这个类替换一下试试,这是我们自己改的,不是用上述方法

douzhix

赞同来自:

好的谢谢啦

douzhix

赞同来自:

还有个问题,就是在切换背景音乐的时候,这样子调用
SoundManager.stopAll();
SoundManager.destroySound("res/sound/blade in my heart Short JUNkaraoke_M.mp3");
SoundManager.playMusic("res/sound/BGM01.m4a");
 
但是内存也降不下去,两个背景音乐来回切换的话,会内存不断上涨
示例中点击左上角那两个 点我赋值 的按钮,可以切换不同的背景音乐
 
 

要回复问题请先

商务合作
商务合作