何时使用自动释放池

时间:2015-08-24 19:27:37

标签: ios objective-c autorelease

如果网络可以访问,我需要推送视图控制器。视图控制器完成后,我希望释放内存。我的代码是

Reachability* reachability = [Reachability reachabilityForInternetConnection];
BOOL isReachable = [reachability isReachable];
if(isReachable) {
    ViewController *ppc = [[ViewController alloc] init];
    [self.navigationController pushViewController:ppc animated:YES];
}

要弹出视图控制器,我在里面使用以下代码(ViewController.m)

-(void) goBack {
  [self.navigationController popViewControllerAnimated:YES];
}

当我看到乐器中的内存使用情况时,我看不到弹出视图控制器时释放的内存。所以我修改了如下代码。

@autoreleasepool {
    Reachability* reachability = [Reachability reachabilityForInternetConnection];
    BOOL isReachable = [reachability isReachable];
    if(isReachable) {
        ViewController *ppc = [[ViewController alloc] init];
        [self.navigationController pushViewController:ppc animated:YES];
    }
}

当我运行上面的代码时,VC推送时会有内存丢失。但我希望在弹出VC时内存会下降。我在这里做错了什么。

0 个答案:

没有答案