ios程序运行过程解析

1、执行main函数;

2、执行main函数调用的UIApplicationMain函数;
2.1 创建UIApplication实例,这是一个单例,UIApplication对象是应用程序的象征;
2.2 开启消息循环 main loop
2.3 创建一个UIApplication的delegate对象(UIApplicationMain函数的参数中传入),负责监听UIApplication整个生命周期,UIApplication生命周期中的各种事件处理均由delegate负责;

3、delegate中的方法说明:
方法一:

1
2
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
// 该方法在应用程序加载完毕后调用,初始化界面或创建界面元素在该方法中实现;

方法二:

1
2
- (void)applicationWillResignActive:(UIApplication *)application
// 应用程序被挂起时调用

方法三:

1
2
- (void)applicationDidEnterBackground:(UIApplication *)application
// 应用程序进入后台时被调用

方法四:

1
2
- (void)applicationWillEnterForeground:(UIApplication *)application
// 应用程序进入前台时被调用

方法五:

1
2
- (void)applicationDidBecomeActive:(UIApplication *)application
// 应用程序被激活时调用

方法六:

1
2
- (void)applicationWillTerminate:(UIApplication *)application
// 应用程序被终结时调用

3.1 打开应用程序时会调用方法一与方法五;
3.2 点击Home键时会调用方法二与方法三;
3.3 再次打开应用程序时会调用方法四与方法五;
3.4 程序退出时调用方法六,注意:按Home键不是退出程序,只是将程序挂起到后台。

Leave a Reply