прибор не может обнаружить утечку UIButton? - PullRequest
0 голосов
/ 15 октября 2010

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

-(IBAction)leak{

UIButton * button = [[UIButton alloc] initWithFrame: CGRectMake (0, 0, 30, 30)]; NSLog (@ "% @", кнопка); button.selected = YES; }

но в приборе ничего не происходит. Как получилось?

Я изменил код на:

-(IBAction)leak{

NSMutableString * test = [[NSMutableString alloc] init]; [test appendString: @ "Testing 1"]; [test appendString: @ "\ nTesting 2"]; NSLog (@ "% @", тест); }

И прибор сообщает мне, что внутри этого кода есть утечка памяти.

Так почему же он не может обнаружить утечку UIButton? Любой комментарий будет оценен!

1 Ответ

0 голосов
/ 15 октября 2010

Instruments не сообщает вам, что ваш код не пропускает. Когда приборы обнаруживают утечку, определенно есть. Однако, если он не обнаруживает утечку, это не обязательно означает, что ваш код не протекает. Не спрашивайте, почему, но есть утечки памяти, которые не могут быть обнаружены приборами. К сожалению, у меня нет официального источника для цитирования. Возможно, вы захотите посмотреть видео этого года WWCD , особенно "Расширенный анализ памяти с помощью инструментов". Это хороший обзор о том, на что способны инструменты, и об их ограничениях (включая то, что я только что сказал вам).

...