UIViewController中view的释放过程

本文详细解析UIViewController中view的释放过程,包括viewDidUnload的调用时机、释放对象的选择,以及viewDidUnload与viewDidLoad、dealloc的关系。讨论了内存管理的关键点,如在内存不足时如何释放资源,并确保在视图重新加载时能正确重建。同时介绍了viewWillAppear、viewDidAppear、viewWillDisappear和viewDidDisappear等生命周期方法的作用。
摘要由CSDN通过智能技术生成
第一、viewDidUnload方法

1.调用时机:

内存吃紧时,在iPhone OS 3.0之前didReceiveMemoryWarning是释放无用内存的唯一方式,但是OS 3.0及以后viewDidUnload方法是更好的方。当系统内存吃紧的时候会调用该方法,释放view,释放的view必须是已经在内存的view,即通过viewdidload之后的view,而不是controller,在iphone应用程序,可以controller已经创建,但是view可以没有进内存,另外该方法不会是viewController release。

注意此时释放的对象应该是所有IBOutlet(无论是property还是实例变量)置为nil,在该方法中释放其他与view有关的对象、其他在运行时创建(但非系统必须)的对象、在viewDidLoad中被创建的对象、缓存数据等release对象后,将对象置为nil

注意:系统view时已经将其release掉了, 即self.view此时已经为空)

2.释放的对象

viewDidUnload中被release的对象必须是很容易被重新创建的对象(比如在viewDidLoad或其他方法中创建的对象),不要release用户数据或其他很难被重新创建的对象。

viewDidUnload 不会引发dealloc方法

第二.viewDidUnload工作内容

1、释放掉一些比较容易创建的对象,或者是一些比较占资源的对象(图片、音频等)
2、如果界
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值