Подтвердить что ты не робот

Xcode показывает утечку памяти, но инструменты не

Когда я запускаю приложение из Xcode, ясно, что у меня есть утечка памяти:

введите описание изображения здесь

Когда я представляю пользовательский ViewController, память увеличивается, но когда я его отклоняю, он не возвращается.

Итак, я также проверил инструмент "Распределение инструментов", но это говорит о другой истории:

введите описание изображения здесь

Как вы можете видеть, инструменты показывают всплески, когда я представляю этот ViewController, но использование памяти падает до предыдущих уровней, когда оно было отклонено.

Я проверил свой код как минимум 15 раз, и я лично не могу найти утечек памяти и, таким образом, согласен с инструментами. Я также реализовал функцию deinit во всех моих объектах, которые будут распределены так:

deinit {
  print("Deinnited \(id)")
}

И все объекты распечатываются на консоли, как ожидалось.

Что может быть? Я использую:

  • iOS 9.0
  • XCode Version 7.0 (7A220)
  • Swift 2.1

Обе схемы для Run и Profile находятся в "debug"

4b9b3361

Ответ 1

Это чрезвычайно раздражающая ошибка Xcode или, может быть, функция:), если вы видите ее с точки зрения Яблок.

Я столкнулся с этим сегодня, и вот как его решить.

  • Нажмите имя приложения, в котором вы устанавливаете схему (рядом с кнопкой остановки в xcode)

  • Выберите 'edit scheme'

  • Выберите "run" (левая часть всплывающего окна)

  • Выберите "параметры" (верхняя часть всплывающего окна)

  • снимите флажок "включить запись backtrace" (последний выбор вам нужно прокрутить вниз)

Недостатком является то, что backtrace будет отключен, если вы потерпите крах. Поэтому, я думаю, вы хотите переключить этот переключатель в зависимости от того, на что хотите сосредоточиться.

В схеме "профиль" обратная трассировка не включена, поэтому вы заметили утечку памяти при использовании навигатора отладки (схема запуска), а не в инструментах (схема профиля).

/Anders.

Ответ 2

После долгих исследований в Google и других форумах это похоже на ошибку с XCode.

Ответ 3

Обновление предыдущего текста после использования опыта использования инструментов.

введите описание изображения здесь

После недавних экспериментов с использованием инструментов в Xcode 7.2.1 я заметил, что график утечек не всегда работает. После убийства процесса Инструменты и симулятора снова запустите... появилась диаграмма. Кажется, что проблема прерывистая и пока не найдена причина.

введите описание изображения здесь