Instruments を実行していますが、SimpleAudioEngine がメモリ リークしていることを示しています。スクリーンショットを添付します。スクリーンショットには 1 つのインスタンスしか表示されていませんが、メモリ リークは複数回発生しています。
また、次の実装 (私のコード) を指す場合もあります。
-(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 が低下し、ゲームがますます遅くなります。