Нет утечки памяти, но все распределения продолжают расти - PullRequest
3 голосов
/ 11 декабря 2011

У меня есть два viewcontroller, и я переключаюсь между ними с помощью класса 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, однако во всех коммутаторах viewcontroller продолжают расти все распределения.Каждый раз при переключении увеличивается 1 - 2Мб.Я кэширую изображения на обоих контроллерах представления, но я удаляю все на 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];
}

Большое вам спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...