1

我的应用程序从某个视图开始,用户可以从那里推送多个视图。当用户到达最后一个视图时,我提供了一个弹出到 rootview 控制器的按钮。但是当每个视图被推送时,整个应用程序中一直在增加的内存被发现没有释放。再次,如果用户开始使用应用程序,它会不断增加。我不知道问题究竟出在哪里。有人可以帮我解决这个问题吗?

-(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;
}
4

1 回答 1

0

由于我的声誉较低,我必须添加一个答案。不久前,同样的事情发生在我身上。我正在推动一个视图控制器,然后释放它,但没有调用 dealloc 方法。然后经过一点调试,我意识到我在一个单独的线程上做了一些工作,我在线程没有完成的情况下释放了视图。由于线程仍在运行,因此不会调用 dealloc 方法。我不知道您是否是这种情况,但如果您使用了多线程,请检查是否是这种情况。

于 2011-06-22T10:55:19.330 回答