iOS – App的生存周期

iOS – App的生存周期从设备开机说起:~ 当用户打开iPhone,除了操作系统的App在运行时没有其他的App在运行。当用户点击App图标,SpringBoard会来启动的App。 SpringBoard是一个系统标准的应

从设备开机说起:~

  • 当用户打开iPhone,除了操作系统的App在运行时没有其他的App在运行。当用户点击App图标,SpringBoard会来启动的App。

    • SpringBoard是一个系统标准的应用程序来管理iPhone的主屏幕(home screen)。也包括管理窗口服务、启动应用程序和一些设备的设置问题。
  • SpringBoard打开App的启动屏幕(launch screen)时,系统会加载你的App和必要的相关的库到内存中。最后你的App会开始执行并且应用委托(application delegate, AppDelegate)会收到通知。

    • AppDelegate是一个委托对象。继承自UIResponder类,并且实现UIApplicationDelegate委托协议
  • iOS App的入口是UIApplicationDelegate。这是一个协议,并且你需要在你的App里实现它,这一你可以得到程序启动、转入后台/前台等等。

  • UIResponder类使AppDelegate可以对用户行为进行响应。并且UIApplicationDelegate可以使AppDelegate成为一个应用委托的对象来管理和回应应用程序的生命周期。

Apps的执行状态:-

  • 未运行状态(Not Running state): app 还未被运行或者被系统终止
  • 未激活状态(Inactive state): app 正要进入前台,但是没有收到事件
  • 激活状态(Active state): app 进入前台并且可以处理事件
  • 后台状态(Background state): 在这种状态下,如果有正在执行的代码,那么会继续执行;如果没有执行的代码抑或是执行完毕,那么app会被悬挂。
  • 悬挂状态(Suspended state): app 在后台(也就死在内存)但是没有执行的代码,并且系统如果没有足够多的内存,那么会终止app

image.png

image.png

image.png

今天的文章iOS – App的生存周期分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16560.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注