Xcode показывает утечку памяти, но инструменты не
Когда я запускаю приложение из Xcode, ясно, что у меня есть утечка памяти:
![введите описание изображения здесь]()
Когда я представляю пользовательский ViewController, память увеличивается, но когда я его отклоняю, он не возвращается.
Итак, я также проверил инструмент "Распределение инструментов", но это говорит о другой истории:
![введите описание изображения здесь]()
Как вы можете видеть, инструменты показывают всплески, когда я представляю этот ViewController, но использование памяти падает до предыдущих уровней, когда оно было отклонено.
Я проверил свой код как минимум 15 раз, и я лично не могу найти утечек памяти и, таким образом, согласен с инструментами. Я также реализовал функцию deinit
во всех моих объектах, которые будут распределены так:
deinit {
print("Deinnited \(id)")
}
И все объекты распечатываются на консоли, как ожидалось.
Что может быть? Я использую:
- iOS 9.0
- XCode Version 7.0 (7A220)
- Swift 2.1
Обе схемы для Run и Profile находятся в "debug"
Ответы
Ответ 1
Это чрезвычайно раздражающая ошибка Xcode или, может быть, функция:), если вы видите ее с точки зрения Яблок.
Я столкнулся с этим сегодня, и вот как его решить.
-
Нажмите имя приложения, в котором вы устанавливаете схему (рядом с кнопкой остановки в xcode)
-
Выберите 'edit scheme'
-
Выберите "run" (левая часть всплывающего окна)
-
Выберите "параметры" (верхняя часть всплывающего окна)
-
снимите флажок "включить запись backtrace" (последний выбор вам нужно прокрутить вниз)
Недостатком является то, что backtrace будет отключен, если вы потерпите крах. Поэтому, я думаю, вы хотите переключить этот переключатель в зависимости от того, на что хотите сосредоточиться.
В схеме "профиль" обратная трассировка не включена, поэтому вы заметили утечку памяти при использовании навигатора отладки (схема запуска), а не в инструментах (схема профиля).
/Anders.
Ответ 2
После долгих исследований в Google и других форумах это похоже на ошибку с XCode.
Ответ 3
Обновление предыдущего текста после использования опыта использования инструментов.
![введите описание изображения здесь]()
После недавних экспериментов с использованием инструментов в Xcode 7.2.1 я заметил, что график утечек не всегда работает. После убийства процесса Инструменты и симулятора снова запустите... появилась диаграмма. Кажется, что проблема прерывистая и пока не найдена причина.
![введите описание изображения здесь]()