Какой лучший способ исправить утечки памяти на iPhone? - PullRequest
0 голосов
/ 17 февраля 2010

Я пытаюсь использовать утилиту XCode Leaks, чтобы исправить некоторые утечки памяти в моем коде. Есть ли лучший и более понятный способ проверки на наличие утечек с объяснениями, которые точно указывают точную линию и / или предлагают предложения?

Другой вопрос, я использую AVAudioRecorder в своем коде в одном из моих контроллеров представления. Должен ли я загрузить рекордер в viewDidLoad или в viewWillAppear?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2010

Если вы используете Snow Leopard, пробовали ли вы использовать статический анализатор?

1 голос
/ 17 февраля 2010

Как уже упоминалось, используйте Static Analyzer в качестве первой линии защиты.

Он не найдет все.

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

Таким образом, это означает, что вы пропускаете строку кода, которую можно было бы разместить где угодно - выполняя фактический выпуск в нужное время. Но как инструмент мог знать, когда что-то ДОЛЖНО быть выпущено?

Таким образом, инструмент делает следующую лучшую вещь. Он сообщает вам, где была выделена утечка памяти, а затем вам нужно выяснить, куда объект перемещался и когда он должен был быть на самом деле освобожден.

Статический анализатор найдет случаи, когда вы должны были выпустить несколько строк кода с момента создания объекта. Что-нибудь еще, вам просто нужно использовать Leaks, чтобы получить отправную точку для отслеживания, когда вам нужно выпустить что-то в другом месте.

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