Как происходят утечки? - PullRequest
       6

Как происходят утечки?

4 голосов
/ 15 августа 2011

Итак, я приступил к тщательной части разработки моего приложения, где я прохожу проверку на наличие утечек памяти.Я решил дать Xcode Leaks водоворот.Когда я впервые запустил его, он говорил, что у меня нет утечек памяти.После минуты радости я посмотрел поближе, осмотрел распределение и понял, что у меня есть несколько объектов, плавающих в памяти, которые мне там не нужны.Например, каждый раз, когда я создавал UIAlertView (что было довольно часто в моем приложении), я никогда не release делал их, когда их исключали из представления.Это привело к появлению нескольких UIAlertView объектов.

Итак, мой вопрос: как Leaks обнаруживает утечку памяти?Почему не сказали мне, что были какие-то утечки, когда вокруг меня плавали UIAlertView объекты?Я просто использую Утечки неправильно?

1 Ответ

3 голосов
/ 15 августа 2011

Если у вас еще есть указатели на эти UIAlertView экземпляры, технически они еще не утечка. Только когда ваше приложение не может получить к ним доступ, оно считается утечкой для инструментов Leaks. Как вы заметили, действительно есть способы сохранить вещи, которые, как вы ожидаете, исчезнут. Вот где инструмент Allocations пригодится.

...