我有两个viewcontrollers,我在使用Segue类进行切换。
-(IBAction)selectActiveAccount:(id)sender
{
[self setActiveAccountTag: [(UIButton *)sender tag]];
[self dyeObjects];
[self performSegueWithIdentifier:@"mainScreen" sender:[(NMBButton *)sender buttonUserName]];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"mainScreen"])
{
NMBViewController *mScreen = [segue destinationViewController];
[mScreen setActiveUser:sender];
}
}
仪器在两个viewcontroller类上都没有显示任何泄漏,但是在切换视图控制器期间,所有分配都在不断增长。每次切换时增加1 - 2mb。我在两个视图控制器上缓存图像,但我在viewDidDisappear上删除所有图像。任何想法都会非常受欢迎。
编辑:正如我所提到的,仪器没有泄漏。我正在使用访问器方法来设置对象并检查所有已分配的对象。所有这些都被释放了。我第一次面对这样的问题。如果释放所有对象,则内存使用量不应继续增加。
- (void)viewDidDisappear:(BOOL)animated
{
SDImageCache *imageCache = [SDImageCache sharedImageCache];
[imageCache clearMemory];
[imageCache clearDisk];
[imageCache cleanDisk];
[super viewDidDisappear:animated];
}
- (void)viewDidUnload
{
logS(@"viewDidUnload");
[dashboardTableView release];
dashboardTableView = nil;
[dashboard release];
dashboard = nil;
[super viewDidUnload];
}
- (void)dealloc
{
[dashboard release];
[dashboardTableView release];
[super dealloc];
}
非常感谢你。