在导航存储器增加,从未减少。 我怎样才能减少时,视图控制器被弹出?(Memory increas

2019-10-18 22:27发布

在我的节目,我有六个视图控制器。 到我用的UINavigationController这些视图控制器之间导航。

我将解释使用两个视图控制器这个问题。 在第一视图控制器,我实现像这样的按钮操作

- (IBAction)clickSearch:(id)sender{

    [self gotoSearch];
}  

-(void)gotoSearch

{

    NSArray *vc = [self.navigationController viewControllers];
    ViewControllerSearch *vcSearch = nil;

    for (int i = 0; i < [vc count]; i++)

    {
        UIViewController *tempVC = [vc objectAtIndex:i];

        if ([tempVC isKindOfClass:[ViewControllerSearch class]])

        {
            vcSearch = [vc objectAtIndex:i];
            break;
        }
    }
    if (vcSearch)

    {
        //If exists inside stack the pop
        [self.navigationController popToViewController:vcSearch animated:YES];
    }
    else
    {
        //If not exists inside stack push ViewController3

        ViewControllerSearch *vc3New = [self.storyboard instantiateViewControllerWithIdentifier:@"vcsearch"];
        [self.navigationController pushViewController:vc3New animated:YES];
        vc3New = nil;
    }
}

第二视图控制器具有一个按钮,该按钮动作也如上述实施。

如果我移动到从第一视图控制器第二视图控制器,存储器增加。(其确定)

如果我移动到从第二视图控制器第一视图控制器,存储器级不改变。

我再次移动到第二视图控制器从第一视图控制器,存储器increasing.you可以看到它这个图像英寸

(内存不降低),我怎么能减少记忆?

第一次第一到第二:NSArray的* VC具有一个对象(第一VC)

第二到第一:NSArray的* VC具有两个对象(第一个VC,和第二VC)

现在在第一种观点的IM即时通讯controller.now单击以移动第二视图控制器:NSArray的* VC只有一个对象(第VC)。第二VC missing.and增加内存(我认为这对新的第二VC)

文章来源: Memory increasing on navigation, never decreasing. How can I decrease when view controller is popped?