UIViewController卸载过程(ios6.0以前)

1.当应用程序收到内存不足的警告以后,程序中全部存在的UIViewController都会收到didReceiveMemoryWarning调用消息,目的是将当前不显示的View释放掉,缓解内存压力。(注:不会调用dealloc方法,并非将UIViewController对象释放,而是将控制器中的根视图view对象释放掉!)spa

2.若是不是当前显示的UIViewController,都会自动进入viewWillUnload方法中,此方法中应该把UIViewController实例中的view属性释放掉,[super viewWillUnload]就行,(注意:在此方法和viewDidUnload方法中,不要再get到view属性,由于如今view属性为nil,若是get,那么又会进入loadView方法。)对象

3.释放了view根视图以后,会进入viewDidUnload方法,在此方法中除了调用父类的[super viewDidUnload]方法以外,还应该把UIViewController所拥有的子视图,其它强引用的view(即本身声明的subview属性),若是是全局的subview,那么不该该在别的地方释放,而应该在viewDidUnload方法中release,若是是局部变量,能够其它地方release。不该该在该方法中程序所需的数据,由于再次加载数据会耗费很长时间。blog

相关文章
相关标签/搜索