2016-02-23 2 views
0

Итак, я написал приложение в swift/xcode, и теперь я на финише, убедившись, что все в порядке. Используя индикатор использования памяти Xcode, я заметил, что мое базовое использование памяти увеличивается на 200-300 (кБ) или около 0,25 (МБ), когда я играю уровень, а затем возвращаюсь к основной сцене. Тогда я пошел на инструменты и посмотрел на сохраняющиеся данные. Я думаю, что у SpriteNode есть runBlock, создающий сильную ссылку и найденные экземпляры текстур с большим количеством ссылок, вероятно, связанных с анимацией взрыва, и некоторые источники звука не были выпущены после вызова SKAction.playSoundFileNamed(...). В любом случае, я пробовал различные исправления, не уточнил, звучит ли его звуковая анимация, взрывная анимация или что-то еще, но она кажется универсальной, после любого уровня, который, наряду с инструментами, заставляет меня поверить в свою одну из двух (анимация взрыва или playoundfile, который создает сильный опорный цикл). Но тогда часть меня чувствует, что я преследую призрак, потому что у меня действительно не было проблем с производительностью. Я работаю в диапазоне 20-50 МБ, поэтому добавление .2 МБ на уровень действительно не влияет ни на что, даже если оно делает это дюжину раз (в игре всего 9 уровней). Хотя, будучи перфекционистом, это сводит меня с ума. Таким образом, более практично:Насколько велика сделка - небольшая утечка памяти?

Помогает ли Apple заботиться о небольшой утечке памяти? Он проверяет это?

+0

Если вы подозреваете, что звук является проблемой, попытались ли вы удалить этот вызов 'playSoundFileNamed()' и снова проверить на утечку? – Stephen

ответ

0

Независимо от того, делают они это или нет, подумайте, как это повлияет на ваших пользователей . Если кто-то любит вашу игру достаточно, чтобы сыграть ее в течение нескольких часов, это в конечном итоге повлияет на их опыт? Когда ваше приложение выгружается ОС (т. Е. Как долго будет продолжаться использование этой памяти)? Очевидно, лучше не утечка памяти, но «будет ли Apple недовольна мной» является менее важным соображением, чем «будут ли мои пользователи недовольны мной».

+1

Это правда. Заткнись еще раз. Проблема исчезает, когда выключается звук (на странице настроек). Кажется, что утечка одинаково распределена между AVAudioPlayer и SKAction.playSoundFileNamed (...). У меня есть дюжина бета-тестеров, которые теперь ищут глюки, поэтому, надеюсь, я смогу доставить хороший пользовательский интерфейс. Возможно, мне придется снова спросить об этом, если у меня более точный диагноз. –

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