iOS应用生命周期简介

记录一个菜鸟的iOS学习之旅,如能帮助正在学习的你,亦枫不胜荣幸;如路过的大神如指教几句,亦枫感激涕淋!

在上一节中,我们在剖析iOS工程项目结构时,提到了AppDelegate这个类。作为应用程序委托对象,AppDelegate类会在iOS应用的不同生命周期阶段调用不同的方法,供开发人员处理相应的事件。在介绍这些方法之前,我们先通过一张图看一下iOS应用的不同生命周期状态和彼此之间的关系:

iOS应用生命周期.png
  • Not Running
    非运行状态。应用没有运行或被系统终止;

  • Inactive
    前台非活动状态。应用正在进入前台状态,但是还不能接受事件处理;

  • Active
    前台活动状态。应用进入前台状态,能接受事件处理;

  • Background
    后台状态。应用进入后台后,依然能够执行代码。如果有可执行的代码,就会执行代码,如果没有可执行的代码或者将可执行的代码执行完毕,应用会马上进入挂起状态;

  • Suspended
    挂起状态。处于挂起的应用进入一种“冷冻”状态,不能执行代码。如果系统内存不够,应用会被终止;

以上便是五种iOS应用的不同生命周期状态,在应用的使用过程中,会依据实际的使用场景,出现对应的生命周期状态跃迁的变化。

在上述五种应用生命周期状态跃迁的过程中,iOS系统回回调应用程序委托对象AppDelegate类中的不同方法,同时发送相应的通知。这里,我们通过图表列举一些主要的方法供大家参考:

应用状态跃迁对应事件.png

大家可以在AppDelegate类中的不同方法下添加输出日志的代码,通过点击桌面图标、操作Home键等方式模拟应用启动、应用退出等不同场景,查看日志输出信息,以此加深对不同场景下各个生命周期状态跃迁过程的理解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容