ios应用程序的生命周期

先引用一段话:

所有的iPhone应用程序都是基于UIKit框架构建而成的,因此,它们在本质上 具有相同的核心架构。UIKit负责提供运行应用程序和协调用户输入及屏幕显示 所需要的关键对象。应用程序之间不同的地方在于如何配置缺省对象,以及如 何通过定制对象来添加用户界面和行为。

大家来看个图

我来解释一下这个图, 
一开始当用户按下应用程序图标的时候, 程序开始执行,(当然,如果有一开始的LOGO的话,会在LOGO之后调用)

然后开始执行这一段代码,  从UIApplicationMain  进入应用 . 随之UIKit开始进入无限的消息循环,

// If nil is specified for principalClassName, the value for NSPrincipalClass from the Info.plist is used. If there is no

// NSPrincipalClass key specified, the UIApplication class is used. The delegate class will be instantiated using init.

UIKIT_EXTERN int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);

UIApplicationMain  的官方文档    基本上main函数可以不要改.

然后appdelegate里调- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 开始用户写的代码.

而Event Loop  则一直在监听  看有没有 handle event   这就是为什么,当你向某个UI组件发送什么消息,或者按了一下就会响应什么事件了.  

在appdelegate里当程序结束时响应  - (void)applicationWillTerminate:(UIApplication *)application

UIKit 得知程序要结束了,于是 aplication execution terminates   

而程序进入后台时响应  applicationDidEnterBackground:        ios4 之后才有.  不是真正的后台,进程会暂停.

这就是整个应用的生命周期了.

------------------
Bunnydu
唯心而已,心之所向,無懼無悔.
 
School of Computer Science and Technology
Huazhong University of Science and Technology (HUST)
Wuhan, 430074, China
Tel: 15926393802
Email:dskyu2004@gmail.com    bunnydu@qq.com
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值