Я правильно использую CocosDenshion? - PullRequest
4 голосов
/ 25 октября 2010

Я обнаружил тонну утечек в моем коде. Все они появляются, когда я играю звук или песню.

Вот как я называю звуковой эффект:

 [[SimpleAudioEngine sharedEngine] playEffect:@"myeffect.wav"];

Вот как я играю песню:

 [[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"mysong.mp3"];

Должен ли я как-то выпускать их после того, как они закончили или что-то в этом роде?

Ответы [ 2 ]

3 голосов
/ 04 марта 2011

Чтобы вернуть память, вам нужно вызвать unloadEffect: на SimpleAudioEngine.

См. http://www.cocos2d -iphone.org / api-ref / latest-stable / interface_simple_audio_engine.html # a1f3f121b3664c6b5bcfc33c8af63e52c

2 голосов
/ 04 января 2011

Вы используете это правильно.Вы уверены, что у вас есть утечка памяти?SimpleAudioEngine будет кэшировать аудиофайл, который вы воспроизводите, для последующих воспроизведений, поэтому, возможно, именно поэтому вы видите увеличение памяти, а не уменьшение впоследствии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...