小编Rya*_*nes的帖子

AVAudioPlayer 和 SKAction.playSoundFileNamed(...) 导致内存泄漏

我的游戏基本上已经完成了。检查 Xcode 中是否存在泄漏。发现每次玩游戏我都会泄漏大约 0.3 MB。然后前往仪器并查看持久数据。

罪魁祸首1:

SKTexture,被多次调用,但并没有持续增长

罪魁祸首2:

希望我记得确切的语法,它类似于 AudioSource,并且在调用此行时发生:SKAction.playSoundFileNamed(...)

所以我进入游戏的“设置”页面并关闭了声音。再次测试内存使用情况,稳定。还意识到 AVAudioPlayer 正在泄漏,因为音效和主题通过不同的机制运行。

我尝试在关闭时将 AVAudioPlayer 的实例设置var backgroundAudio:AVAudioPlayer!为 nil,该实例被声明为类变量,但这没有帮助。

是否有一个巨大的锤子我可以用来清理显然在某些强参考周期下的音频源?当调用 showPhysics 时,我也遇到了 GameViewController 的问题。我认为我的问题可能是游戏的结构。主菜单调用视图和场景,因此场景中还有场景。关卡场景的实例似乎已正确释放,但留下了一些模糊的音频错误。有什么解决办法吗?

xcode memory-leaks avaudioplayer skaction swift

3
推荐指数
1
解决办法
631
查看次数

标签 统计

avaudioplayer ×1

memory-leaks ×1

skaction ×1

swift ×1

xcode ×1