没有内存泄漏,但All Allocations不断增加

时间:2011-12-11 12:11:02

标签: objective-c ios cocoa-touch memory-management

我有两个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];
}

非常感谢你。

0 个答案:

没有答案