在didFinishLaunchingWithOptions结束之前,applicationWillResignActive会被调用吗?
在applicationWillResignActive:
将在application:didFinishLaunchingWithOptions:
之前被调用的情况下,情况会发生application:didFinishLaunchingWithOptions:
ends ?
基本上,我可以指望application:didFinishLaunchingWithOptions:
总是在applicationWillResignActive
触发第一次之前完成 ?
在“应用程序状态和多任务”部分,苹果的iOS应用程序编程指南指出applicationWillResignActive:
作为应用程序通过处理运行循环来处理事件的一部分被调用,运行循环仅在application:didFinishLaunchingWithOptions:
完成之后开始。
此外,应用程序生命周期事件总是发生在主线程上,所以它们中的一个不可能预先占用另一个,或者彼此平行运行。
是 – 应用程序-application:didFinishLaunching:
将始终在之前调用-applicationWillResignActive:
看到这个图像的更多细节:
runloop可以recursion调用。
application:disFinishLaunchigWithOptions:
一个假设的实现application:disFinishLaunchigWithOptions:
可以运行runloop,反过来,这将允许从方法中传递通知。
下面的人为的例子会让运行循环运行,但永远不会返回:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { while (YES) [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; }