Как UIWindow # addSubview может сделать утечку памяти? - PullRequest
0 голосов
/ 08 июня 2010

Я начал учиться, используя инструмент, но я не могу понять это. После запуска приложения появляется пользовательский интерфейс, я ничего не делаю, и через несколько секунд я вижу обнаруженную утечку памяти: альтернативный текст http://img714.imageshack.us/img714/7735/instruments1.png

Когда я смотрю на вторую утечку, я вижу следующий стек: альтернативный текст http://img3.imageshack.us/img3/5708/instruments2.png

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

[window addSubview:newPostUIViewController.view];

из метода:

- (void)applicationDidFinishLaunching:(UIApplication *)application {    
//creating view controller
newPostUIViewController = [[NewPostUIViewController alloc] initWithNibName:@"NewPostView" bundle:nil]; 
newPostUIViewController.title = @"Post it!";
[window addSubview:newPostUIViewController.view];

// Override point for customization after application launch
[window makeKeyAndVisible];
}

Интересно, как это может быть причиной утечки? Я выпускаю newPostUIViewController в методе dealloc класса PostItAppDelegate.

Есть идеи, как это можно объяснить?

Ответы [ 2 ]

0 голосов
/ 08 июня 2010

Глядя на текст ссылки , можно сказать, что это проблема симулятора, а не кода.

0 голосов
/ 08 июня 2010

Вы не предоставили autorelease или release для баланса init.На случай, если вы еще не прочитали его, посмотрите руководство по управлению памятью - отличная помощь.

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