Когда я запускаю мое приложение с Xcode, то ясно, что у меня есть утечка памяти:Xcode показывает утечку памяти, но инструменты не
Когда я представляю обычай ViewController увеличения памяти, но когда я его отклоняю, он не возвращается.
Так что я также проверил с помощью приборов инструмент выделения, но это говорит о другом:
Как вы можете видеть, инструменты показывает шипы, когда я представляю, что ViewController, но использование памяти падает обратно предыдущих уровней, когда он был уволен.
Я проверил свой код не менее 15 раз, и я лично не могу найти утечки памяти и, таким образом, согласиться с инструментами. Я также реализовал deinit
функцию во всех своих объектах, которые будут получать выделенные таким образом:
deinit {
print("Deinnited \(id)")
}
И все объекты, напечатанные на консоль, как и ожидалось.
Что может быть? Я использую:
- IOS 9.0
- XCode версии 7.0 (7A220)
- Swift 2,1
Обе схемы для прогона и профиля в "отлаживать"
Просто проверяйте, но как вы отклоняете взгляды? Также есть время простоя? Я обнаружил, что инструменты имеют тенденцию показывать только программную сторону. Он не покажет вам барана, который еще не очищается. Когда нет времени простоя, ОС не может очистить RAM. У вас есть синглтон? или общий экземпляр для обналичивания? Вероятно, сильный ссылочный цикл. Попробуйте настроить материал на слабый. Просто бросая идеи вокруг ... –
Если вы повторяете open-close несколько раз, вы видите увеличение потребления памяти в Xcode? – Darko
@ Darko да. Я вижу растущее потребление памяти в Xcode, но не в инструментах –