Предварительная загрузка изображений / звука, чтобы избежать задержки - PullRequest
1 голос
/ 15 ноября 2010

Я разрабатываю игру, в которой у меня есть игрок, который стреляет в предметы. Когда игрок стреляет, воспроизводится звук. И когда он попадает в объект, он генерирует анимацию взрыва, а также звук. Я использую UIImageViews, чтобы нарисовать плеер и объект, и я использую AudioServicesPlaySystemSound для воспроизведения звуков.

Проблема, с которой я сталкиваюсь, заключается в том, что игра «зависает» при первой стрельбе и при первом попадании в объект. Я думаю, что это потому, что эти объекты еще не загружены в память, потому что только в первый раз, когда эти объекты генерируются, возникают проблемы. После первого раза игра не страдает от лага.

Есть ли способ предварительно загрузить эти объекты в память, чтобы игра не задерживалась каждый раз, когда новый объект создается впервые?

1 Ответ

2 голосов
/ 15 ноября 2010

Просто поместите создание ваших UIImage экземпляров и ваши вызовы AudioServicesCreateSystemSoundID() в метод, который выполняется до фактического запуска игрового процесса. Пока ваши ресурсы достаточно малы, чтобы поместиться в памяти, это должно быть сделано.

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

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