[内存管理实践 之 1]在返回按钮中,释放内存

iOS内存管理技巧
本文介绍了一个iOS应用在返回按钮点击事件中进行内存管理的具体实现方式,包括移除子视图、清空数组等内容,强调了在内存警告前主动释放内存的重要性。

在返回按钮中,释放内存:

-(IBAction)btnBack:(id)sender
{
    if ([self.str_superViewName isEqualToString:@"ShakeViewController"]) {
        [configData setObject:@"YES" forKey:@"isShake"];
    }
    
//移出两个比较大的重要的子页面
    [self.uisv_scrollView0 removeFromSuperview];
    [self.scrView removeFromSuperview];
   
//移出所有子页面
 NSArray *views = [self.view subviews];
    for (id obj in views) {
        NSLog(@"obj class === %@",[obj class]);
        [obj removeFromSuperview];
    }
    
   //数组中的内容要一个一个释放
    [self.nsma_pageControllImages removeAllObjects];
    
 // 如果不写 release  则,仍然内存泄漏
    [uisv_scrollView0 release];
    [scrView release];
    [nsma_pageControllImages release];
    
//可写  可不写,影响不大
//    self.uisv_scrollView0 = nil;
//    self.scrView = nil;
//    self.nsma_pageControllImages = nil;
    
    [self.view removeFromSuperview];
}

 

如果你的页面使用较大的图片或者显示较大量的数据信息。那么一定要在返回按钮中释放内存,而不仅仅是在 viewDidUnload 和 dealloc 两个方法中释放内存。 实践证明,当应用程序收到 内存警告的消息再去释放内存时,往往已经来不及了。

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    
    NSLog(@"===进入viewDidUnload");
    self.nsma_pageControllImages = nil;
    self.scrView = nil;
    self.uisv_scrollView0 = nil;
}

-(void)dealloc
{
    NSLog(@"====进入dealloc");
//    [nsma_pageControllImages release];
//    [scrView release];
//    [uisv_scrollView0 release];
    [super dealloc];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值