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

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。不应该在该方法中程序所需的数据,因为再次加载数据会耗费很长时间。

UIViewController卸载过程(ios6.0之前)的更多相关文章

  1. UIViewController卸载过程(ios6.0以后)

    在ios6.0以后,废除了viewWillUnload方法和viewDidUnload方法. 在ios6以后,当收到didReceiveMemoryWarning消息调用之后,程序会自动调用didRe ...

  2. IOS6.0 应用内直接下载程序 不需跳转AppStore -b

    闲来没事看了篇文章 应用内创建应用商店环境,不跳转AppStore. 先武断的想一句:放屁.然后好奇的进去看看,原来是IOS6.0的新特性,顿感惭愧.研究下 SKStoreProductViewCon ...

  3. mysql首次使用过程以及彻底卸载过程

    安装过程: 步骤一: 安装mysql服务,使用命令行: yum install mysql-server 步骤二: 启动mysql服务: service mysqld start 确认msyql是否启 ...

  4. iOS6.0下获取通讯录用户列表

    自iOS6.0后获取通讯录列表需要询问用户,经过用户同意后才可以获取通讯录用户列表.而且ABAddressBookRef的初始化工作也由ABAddressBookCreate函数转变为ABAddres ...

  5. 卸载AMH 5.0面板的具体办法

    安装AMH 5.0面板只有YES.NO和EXIT,和AMH 4.X的安装.卸载.退出有点不同,那么如何卸载AMH 5.0面板呢? 1.root登录ssh 2.输入如下命令: killall php-f ...

  6. 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)

    [Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 ...

  7. IOS6.0调用通讯录和之前的差别

    6.通讯录列表获取差异 自iOS6.0后获取通讯录列表需要询问用户,经过用户同意后才可以获取通讯录用户列表.而且ABAddressBookRef的初始化工作也由ABAddressBookCreate函 ...

  8. ios6.0,程序为横屏,出现闪退

    本文转载至 http://blog.csdn.net/huanghuanghbc/article/details/10150355   ios6.0,程序为横屏,出现闪退 *** Terminatin ...

  9. IOS6.0自带下拉刷新控件UIRefreshControl

    1.UIRefreshControl必需要在IOS6.0以后才干使用,同一时候他仅仅能在UITableViewController类中才干够使用 2.使用比較简单 self.refreshContro ...

随机推荐

  1. iOS NSURLSession 下载

    周五的时候,有个新的需求,要下载脚本,帮助玩家自动打怪,应该也是挂机的意思吧! 组长让我设计界面,让汤老师设计数据等.我觉得数据的挑战性更大一点,然后就接过来了. 自己还没有形成互联网思维,所以弄了一 ...

  2. std::map的clear()没有用?

    昨天晚上,我徒弟跑过来讲,他的程序的内存占用居高不下,愿意是std::map的clear()没有效果.于是我让他用erase(begin,end); 试试也不行. 代码如下: void release ...

  3. ubuntu mysql 远程连接

    最近需要远程连接mysql服务器,先进行简单的测试,过程记录于此. 参考链接: http://blog.chinaunix.net/uid-28458801-id-3445261.html http: ...

  4. 修改seacherbar 取消按钮属性

    继承UISearchBar.   重载setShowCancelButton. [super xxx]; ... for (UIView *subview in self.subview) { if ...

  5. Java Final, Finally, Finalize

    Final is a Keyword, final can be used in three different ways: final variable final method final cla ...

  6. eigen主页

    http://eigen.tuxfamily.org/index.php?title=Main_Page

  7. POJ1043问题描述

    Description The FBI is conducting a surveillance of a known criminal hideout which serves as a commu ...

  8. 一网打尽当下NoSQL类型、适用场景及使用公司

    在过去几年,关系型数据库一直是数据持久化的唯一选择,数据工作者考虑的也只是在这些传统数据库中做筛选,比如SQL Server.Oracle或者是MySQL.甚至是做一些默认的选择,比如使用.NET的一 ...

  9. Spring Boot 5 SpringSecurity身份验证

    对于没有访问权限的用户需要转到登录表单页面.要实现访问控制的方法多种多样,可以通过Aop.拦截器实现,也可以通过框架实现(如:Apache Shiro.Spring Security). pom.xm ...

  10. [RGeos]手簿

    1.屏幕坐标以像素为单位,地图坐标通常以米为单位,CAD制图默认以毫米为单位. DPI是“dot per inch”的缩写.顾名思义,就是指在每英寸长度内的点数.通常,我们都使用dpi来作为扫描器和打 ...