【问题标题】:SimpleAudioEngine Cocos2d Leaking MemorySimpleAudioEngine Cocos2d 内存泄漏
【发布时间】:2011-07-11 05:52:15
【问题描述】:

我正在运行 Instruments,它表明 SimpleAudioEngine 正在泄漏内存。附上截图。尽管屏幕截图只显示了一个实例,但内存泄漏是多次的。

此外,有时它指向以下实现(我的代码):

-(void) preloadGameSounds
{
    // pre load the background sound 

    [[SimpleAudioEngine sharedEngine] preloadEffect:@"farm_background_sound.mp3"];

    // pre load the game sounds 

    [[SimpleAudioEngine sharedEngine] preloadEffect:@"chickenlayingegg.mp3"];

    // setup ding sound 
    [[SimpleAudioEngine sharedEngine] preloadEffect:@"ding.caf"];

    // egg pop sound 
    [[SimpleAudioEngine sharedEngine] preloadEffect:@"baloonpop.wav"];

    // preload applause sound 
    [[SimpleAudioEngine sharedEngine] preloadEffect:@"applause.mp3"];

    // wrong answer sound 
    [[SimpleAudioEngine sharedEngine] preloadEffect:@"wrong_answer_sound.wav"];

}

更改场景时,我还使用以下实现卸载声音:

-(void) unloadSoundEffects 
{

    [[SimpleAudioEngine sharedEngine] unloadEffect:@"applause.mp3"];
    //[[SimpleAudioEngine sharedEngine] unloadEffect:@"wrong_answer_sound.wav"];
    [[SimpleAudioEngine sharedEngine] unloadEffect:@"ding.caf"];

    [[SimpleAudioEngine sharedEngine] unloadEffect:@"chickenlayingegg.mp3"];
}

此内存泄漏正在使游戏的 FPS 变低,并使游戏越来越慢!

【问题讨论】:

  • 嘿@azamsharp,你找到解决方法了吗?我遇到了同样的泄漏。

标签: cocos2d-iphone simpleaudioengine


【解决方案1】:

您是否使用模拟器来运行泄漏工具? 我在模拟器中遇到了同样的泄漏,但在设备上没有。 尝试使用设备运行泄漏工具

【讨论】:

    【解决方案2】:

    来自cocosdenshion FAQ

    我应该保留/释放什么?

    SimpleAudioEngine、CDAudioManager 和 CDSoundEngine API 都可以访问 通过共享单例实例。 这是一种常用的模式 贯穿 Cocoa Touch 和 cocos2d。 共享实例不应该是 保留或释放。

    如果您需要完全关闭 CocosDenshion 并释放所有资源 它正在使用然后调用 end 方法 在最高级别的 API 上你是 使用。 例如,如果您正在使用 SimpleAudioEngine 然后只需调用 [SimpleAudioEngine 结束].

    如果您使用 CDSoundSource 对象,您 必须通过其中之一获得它们 工厂方法,例如 声音源文件。 CDSoundSource 返回的是自动释放的,即 意味着如果你想在外面使用它 您当前方法的范围 必须保留它。如果您保留一个 CDSoundSource 你应该释放它 用完之后。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 2011-07-31
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      相关资源
      最近更新 更多