Утечки памяти XCode? - PullRequest
       12

Утечки памяти XCode?

0 голосов
/ 28 марта 2012

Я проанализировал мой код, который использует WebViewController, и я получаю утечки памяти.

Может ли этот простой код действительно вызывать такие проблемы?

- (IBAction) google: (id) sender {
    NSURL *url = [NSURL URLWithString:@"http://www.google.com/"];
    WebViewController *webViewController = [[WebViewController alloc] initWithURL:url andTitle:@"Google"];
    [self presentModalViewController:webViewController animated:YES];
    //[webViewController release];
} 

Если я раскомментирую релиз, утечки не будет, но после нескольких щелчков через Google произойдет сбой программы. Так что я не уверен, должен ли я оставить утечку в программе, так как по крайней мере тогда она работает. Кто-нибудь может дать некоторое представление? Поэтому после навигации по страницам в веб-просмотре и нажатия кнопки «Готово» вернется к моему основному виду на 1 секунду и произойдет сбой.

Сбой вывода (под WebThread) http://pastebin.com/A8ELm18R

1 Ответ

1 голос
/ 28 марта 2012

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

Вы также можете использовать автоматическое освобождение, например:

- (IBAction) google: (id) sender {
    NSURL *url = [NSURL URLWithString:@"http://www.google.com/"];
    WebViewController *webViewController = [[[WebViewController alloc] initWithURL:url andTitle:@"Google"] autorelease];
    [self presentModalViewController:webViewController animated:YES];
} 
...