【问题标题】:OpenAL Leak- OALSource:AddPlaybackMessageOpenAL 泄漏 - OALSource:AddPlaybackMessage
【发布时间】:2012-02-01 07:35:05
【问题描述】:

我目前在我的游戏中使用 openAl。我得到了内存泄漏,其负责的框架是`

OALSource:AddPlaybackMessage

` 我正在做的是,在我的游戏完成后,我删除分配给源的所有缓冲区并释放其他 pcmdata 指针等。在开始游戏之前,我用音频数据重新初始化源及其缓冲区。在这个阶段我得到了这个泄漏。知道它为什么会发生.....有些帖子说它是苹果 OpenAl 库中的一个错误,但我不这么认为.. Apple 一定对此做了一些事情....

谢谢

【问题讨论】:

  • 我遇到了同样的泄漏。我创建和释放了很多声源,并且泄漏发生得非常随机(可能是十分之一,也许是 50 分之一......)我创建和释放的速度越快,它发生的越多。苹果官方论坛上也有一个帖子,也没有任何回应......
  • 这是我的帖子兄弟...但我想通了..检查下面的答案..
  • 我解决了我的问题。我不明白,但这是我的声音文件之一……使用不同的声音解决了泄漏问题。在我终于得到一个没有泄漏的文件之前,我尝试重新创建有问题的文件 3 次......对我来说毫无意义,将其归为 Apple OpenAL lib 问题,但现在似乎已解决。
  • 以下答案是解决我的问题的方法,但我没有找到任何合乎逻辑的观点,它是如何解决问题的......坦率地说,我现在认为这并不重要......泄漏已经消失...... ..干杯

标签: iphone ios ipad memory-leaks openal


【解决方案1】:

好的,现在我没有从 openAL 得到任何泄漏.. 我所做的是:-

  • 在再次初始化源时,首先使用各自的缓冲区删除它们并释放任何 pcmData 指针。
  • 重新生成源和缓冲区。
  • 永远不要删除 openALContext 和 openALDevice 。仅在您的应用启动时获取上下文和设备一次。在 Dealloc() 上删除它们。

希望这能解决您的 openAl 泄漏问题。

干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-01
    相关资源
    最近更新 更多