前言:了解应用程序移动到后台时执行自定义代码的顺序。
概述:
应用程序可以从几个不同的起点进入到后台,如图1所示。系统事件可以导致一个挂起的应用程序返回到后台,或者导致一个不运行的应用程序直接启动到后台。当另一个应用程序启动或用户返回到主屏幕时,前台应用程序将转移到后台。
处理后台事件:
对于支持后台模式功能的应用程序,系统启动或恢复后台应用程序来处理与这些功能相关的事件。例如,系统可能启动或恢复应用程序以响应位置更新或执行后台取回。
一、如果您的应用程序在事件到达时没有运行,系统会启动该应用程序并将其直接移动到后台,顺序如下:
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、该应用程序可能会再次暂停。