2012-06-05 2 views
0

В приложении Делегат, я предварительно загружаю все мои звуковые эффекты и фоновая музыка. При тестировании с помощью инструментов инструмент показывает, что я утечка памяти, источником является SimpleAudioEngine и множество других классов, связанных с воспроизведением звуков. Есть preloadEffect и preloadBackgroundMusic Действительно, что плохо? Как я могу исправить утечки памяти? Спасибо!Звук утечки двигателя ... предзагружает эффект плохой практики?

+3

Вы были на SO достаточно долго, чтобы знать, что не делать ВСЕ ЗАДАЧИ в вашем вопросе ... – Almo

+1

Сообщаемая утечка и способ выполнения задачи должны быть двумя отдельными вещами (потому что вы preloadEffect не означает, что вы должны иметь утечка памяти). Сначала вам необходимо исправить утечки, а затем проверить производительность предварительной загрузки эффектов и нагрузки по требованию. – Joe

+0

Я вижу ... спасибо. – wayway

ответ

1

Преднагруженные эффекты - это не плохая практика, наоборот. Когда звуковой эффект воспроизводится в первый раз, он загружается так же, как с помощью методов предварительной загрузки. Единственное, что делает предварительная загрузка, - это избегать заикания или замораживания, пока эффект играет в первый раз. Для больших аудиофайлов это может привести к приостановке приложения на десятую часть секунды или, возможно, больше.

+0

Хорошо! Понимаю. Я задал еще один вопрос о паузе между звуковыми контурами. Есть ли у вас какие-либо предположения? http://stackoverflow.com/questions/10954903/slight-pause-between-sound-loop-with-simple-audio-engine Еще раз спасибо! – wayway

+0

Когда петля фоновой музыки, всегда кажется, что есть небольшая пауза, прежде чем музыка вернется к началу ... – wayway

Смежные вопросы