熟悉web开发的朋友可能对页面page的生命周期有一定的了解和认识,正如web开发中的页面生命周期一样,移动客户端开发也有它自己的生命周期。下文将说明ios开发中视图的生命周期既运行顺序。

在ios视图不同的生命周期中,视图控制器会调用不同的方法。如下图:

我们可以将视图分为4个基本状态:视图创建、视图可见、视图不可见、系统低内存。

1.其中当视图正在创建时,会调用viewDidLoad方法,这个时候视图并未出现,而是将视图控制器初始化后刚加载到内存中,这个方法也常用来初始化视图控制器所用,如初始化视图中常用的控件等。

2.在视图可见前和可见后分别会调用viewVillAppear和viewDidAppear方法。

3.在视图不可见前和不可见后分别会调用viewVillDisappear和viewDidAppear方法。

4.在应用程序系统内存低的情况下,会调用didReceiveMemoryWarning和viewDidUnload方法。注意:在ios6之后,就不再适用viewDidUnload方法了。而仅仅支持didReceiveMemoryWarning方法,它的主要任务是释放内存,包括成员变量的释放和视图的释放。

上述七个方法中,除了viewDidLoad方法只能调用一次外,其他方法都可以被多次调用。

实际开发当中会根据每个不同的生命周期节点来执行你自己相应的任务喽。

ios开发----视图的生命周期的更多相关文章

  1. 玩转iOS开发 - 视图控制器生命周期

    视图控制器生命周期

  2. iOS开发-ViewController的生命周期和切换

    ViewController在App开发中是至关重要的一环,无论是页面的展示和数据之间的交互,ViewController提供了一个框架可以管理和构建App应用.iOS中构建App提供了两种方式一种是 ...

  3. iOS开发-程序的生命周期

    为了更好的管理程序,了解程序的生命周期是很有必要的. 运行结果: 1.首次启动: 2015-05-26 17:33:28.362 Live[4858:214241] 程序开始 2015-05-26 1 ...

  4. iOS开发:应用生命周期

    iOS应用通过委托对象AppDelegate类在应用周期的不同阶段会回调不同的方法,应用周期分为以下五种状态: Not Running(非运行状态).应用没有运行或被系统终止.   Inactive ...

  5. iOS学习笔记—ViewController/生命周期

    ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图.iOS的SDK中提供很多原生ViewController ...

  6. iOS 应用程序的生命周期

    iOS 应用程序的生命周期(网络资源总结) http://blog.csdn.net/totogo2010/article/details/8048652 http://www.cocoachina. ...

  7. iOS10 UI教程视图的生命周期

    iOS10 UI教程视图的生命周期 说到视图的生命周期一般都是指视图控制器的视图生命周期.在视图的声明周期中最主要的有8个方法,分别为loadView().viewDidLoad().viewWill ...

  8. Servelet开发步骤和生命周期

    Servelet开发步骤和生命周期 (1)    程序员开发程序,实现servelet的init和destroy接口 .重写servlet的 doGet.doPost.doPut.doDelete四个 ...

  9. [转载] iOS应用程序的生命周期

    iOS应用程序的生命周期 2015-06-23 iOS大全 (点击上方蓝字,快速关注我们) iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些 ...

随机推荐

  1. sql语句having子句用法,很多时候你曾忘掉

    显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区. SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY reg ...

  2. [MODX] 1. Template *

    After uploading javascript, css and images to the assets folder. We try to use Template to customize ...

  3. MySQL server version for the right syntax to use near ‘USING BTREE

    转自:http://www.douban.com/note/157818842/ 有时导入mysql会提示如下错误: C:\Users\liqiang>mysql -uroot -paaaaaa ...

  4. Fedora 19安装Fcitx输入法并安装搜狗输入法资源包

    系统自带的Ibus输入法非常的不好用.在Sublime Text下中文根本不能输入.于是想着换成Fcitx. 1.先卸载系统自带的Ibus输入法 sudo yum remove ibus gsetti ...

  5. 如何在Ubuntu 13.04中升级到 GNOME 3.8

    如何在Ubuntu 13.04中升级到 GNOME 3.8 添加 GNOME 3 PPA(Personal Package Archives) 在你进一步浏览之前,确认你正在运行的是Ubuntu 13 ...

  6. liunx 文件相关

    一.linux中 文件属性以 l.b.c.d.开头的都是什么文件? lrwxrwxrwx 1 root root 11 Aug 20 08:38 core -> /proc/kcoredrwxr ...

  7. iOS 8 CloudKit上手教程

    CloudKit,是苹果最新推出的基于iCloud的一个云端数据存储服务,提供了低成本的云存储并能作为一个后端服务通过用户们的iCloud账号分享其应用数据. CloudKit主要由两个部分组成: 一 ...

  8. HTTP 缓存策略

    浏览器一般缓存图片.CSS.JS等静态文件,因为这些文件的更新频率相对来说比较低,合理利用浏览器的缓存对网站的性能提升有很大帮助.HTTP缓存分为两部分,分别是本地缓存和缓存协商,当本地缓存不生效时会 ...

  9. DataBase 之 数据库中的系统表

    名称                       地址                                                        说明 sysaltfiles    ...

  10. K.Bro Sorting

    Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others)Total Submissio ...