Память не освобождается при возврате к rootviewcontroller в iPhone - PullRequest
1 голос
/ 22 июня 2011

Мое приложение запускается в определенном представлении, и оттуда пользователь может просмотреть несколько представлений. Когда пользователь достигает последнего представления, я предоставил кнопку для вызова контроллера корневого просмотра. Но память, которая увеличивалась во всем приложении при нажатии каждого представления, оказывается невыпущенной. И снова, если пользователь начинает использовать приложение, оно продолжает расти. Я не знаю, где проблема на самом деле лежит. Может кто-нибудь, пожалуйста, помогите мне из этого ??

-(void)buttonPressedStart{
    QuizicleViewController *dvController = [[QuizicleViewController alloc] init];
    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle: @"Cancel" style: UIBarButtonItemStyleBordered target: nil action:nil];
    [[self navigationItem] setBackBarButtonItem: backButton];
    [backButton release];
    [self.navigationController pushViewController:dvController animated:YES];
    [dvController release];
    dvController = nil;
}

1 Ответ

0 голосов
/ 22 июня 2011

Из-за моей меньшей репутации я должен добавить ответ. То же самое случилось со мной некоторое время назад. Я нажимал контроллер представления и затем выпускал его, но метод dealloc не был вызван. Затем, после небольшой отладки, я понял, что выполняю какую-то работу в отдельном потоке и освобождаю представление без завершения потока. Поскольку поток все еще работал, метод dealloc вызываться не будет. Я не знаю, так ли это с вами, но если вы использовали многопоточность, проверьте, так ли это.

...