关于后台执行顺序

前言:了解应用程序移动到后台时执行自定义代码的顺序。
概述:

应用程序可以从几个不同的起点进入到后台,如图1所示。系统事件可以导致一个挂起的应用程序返回到后台,或者导致一个不运行的应用程序直接启动到后台。当另一个应用程序启动或用户返回到主屏幕时,前台应用程序将转移到后台。

图1

处理后台事件:

对于支持后台模式功能的应用程序,系统启动或恢复后台应用程序来处理与这些功能相关的事件。例如,系统可能启动或恢复应用程序以响应位置更新或执行后台取回。

图2

一、如果您的应用程序在事件到达时没有运行,系统会启动该应用程序并将其直接移动到后台,顺序如下:

1、系统启动app,按照app启动顺序描述的初始化顺序进行。

2、UIKit调用app委托的applicationDidEnterBackground:方法。

3、UIKit提供导致发射的事件。

4、应用程序的快照被拍摄。

5、该应用程序可能会再次暂停。

二、如果你的应用程序在内存中以及被挂起时,当事件到达,系统将在后台恢复该应用程序,顺序如下:

1、系统恢复app

2、UIKit调用app委托的applicationDidEnterBackground:方法。

3、UIKit提供导致发射的事件。

4、应用程序的快照被拍摄。

5、该应用程序可能会再次暂停。

从前台切换

当另一个应用程序启动或用户返回到主屏幕时,前台应用程序移动到后台,顺序如下: 1、用户退出正在运行的应用程序。

2、UIKit调用app委托的applicationWillResignActive:方法。

3、UIKit调用app委托的applicationDidEnterBackground:方法。

4、应用程序的快照被拍摄。

5、该应用程序可能会再次暂停。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

VMware vSphere虚拟化-VMware ESXi 5.5组件安装过程记录

废话不多说,下面直接记录下VMWARE ESXi 5.5安装: 1)通过软碟通将VMWare ESXi 5.5的iso镜像文件(http://bbs.vmsky...

2189
来自专栏码匠的流水账

java10系列(一)Time-Based Release Versioning

本文主要解读下java10的Time-Based Release Versioning

591
来自专栏jeremy的技术点滴

gulp替换webpack

2794
来自专栏沈唁志

使用WeeChat进行Internet中继聊天

WeeChat是一个用C语言编写的基于终端的多平台Internet中继聊天(IRC)客户端.Weechat旨在灵活和可扩展,因此具有用不同语言编写的各种插件,包...

1673
来自专栏北京马哥教育

那些吓人的 Linux 命令

哪些Linux命令会让人联想到妖魔鬼怪?不妨好好瞧一瞧! ? 每年一度的万圣节马上就要到来,是时候稍微关注一下Linux那吓人的一面了。哪些Linux命令会让...

3368
来自专栏smy

webpack的css压缩不兼容IOS8问题探索

2424
来自专栏乐沙弥的世界

Linux 终端tty pty pts描述

在使用Linux的过程中,当我们通过ssh或者telnet等方式连接到服务器之后,会有一个相应的终端来对应。而在直接登陆到Linux服务器的时候也有一个对应的终...

622
来自专栏落影的专栏

iOS开发笔记(五)

前言 社会的模式很多是重复的,当你做一样事情很擅长时,与之类似的事情也能触类旁通。 正文 Code开发 1、delegate的trick 很多人习惯在调用de...

3404
来自专栏Android Note

Android – 切换夜间模式

1095
来自专栏Zchannel

Linux 流量监控工具 – iftop(安装、相关参数说明)

733

扫码关注云+社区