ios应用程序的生命周期

原创 2012年03月22日 15:48:12
先引用一段话:

所有的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
 
 

ASP.NET应用程序生命周期

ASP.NET应用程序生命周期其中的ASP.NET请求管道,我们很多人可能已经知道ASP.NET请求管道有19个事件,那是IIS 5.0和IIS 6.0 或者IIS 7.0以上经典模式运行的时候情...
  • zhuyu19911016520
  • zhuyu19911016520
  • 2016年01月04日 09:06
  • 456

iOS应用程序的状态及其切换(生命周期)

应用状态切换
  • u011342466
  • u011342466
  • 2015年12月30日 12:34
  • 476

Android 应用程序生命周期

今天突然就bu'xia啊,接下来了解下Service
  • zqingyang521
  • zqingyang521
  • 2014年10月29日 13:56
  • 466

Asp.Net底层解析(四)——应用程序生命周期与HttpModule

前言:一般ASP.NET开发者对页面生命周期(PageLife Cycle)是比较熟悉的,在开发ASP.NET应用程序中经常需要从页面周期的角度去思考问题。实际上在页面生命周期的背后,还存在着一个不太...
  • mlcactus
  • mlcactus
  • 2013年02月01日 23:21
  • 1797

iOS 应用程序的生命周期

iOS应用程序的生命周期相比 Android 应用程序的生命周期来说,没那么简明易懂,但是也并不复杂。iOS应用程序的生命周期又根据系统是否支持多线程分为两种: 不支持多线程的iOS4之前的系统以及...
  • beyond_chengchaochao
  • beyond_chengchaochao
  • 2015年04月09日 13:38
  • 249

IOS应用程序的生命周期

程序的生命周期是指应用程序启动到结束整个阶段的全过程 每一个ios应用程序都包含一个UIApplication对象,ios系统通过UIApplication对象来监控应用程序生命周期的全过程...
  • lcn001
  • lcn001
  • 2014年12月22日 12:02
  • 281

iOS应用程序的生命周期

iOS应用程序的生命周期 //——————————————————————————整个应用的入口函数 - (BOOL)application:(UIApplication *)application ...
  • jingjingxujiayou
  • jingjingxujiayou
  • 2015年03月31日 20:24
  • 450

ios应用程序的生命周期

1.一个应用程序启动调用的方法:      1)、application:didFinishLaunchingWithOptions:       2)、applicationDidBecomeA...
  • CUIYUHUHU
  • CUIYUHUHU
  • 2013年09月21日 20:18
  • 502

iOS开发之对象的生命周期

对象生命周期(Object life cycle)
  • u014312703
  • u014312703
  • 2014年06月16日 14:15
  • 1384

WPF系列之应用程序生命周期

摘要: WPF是微软最新的图形用户界面技术,从2003年公之于众(当时开发代号Avalon),其革命性的创建软件的方式便引起了高度关注,特别是对于使用Windows Form和GDI开发的人员。时至...
  • jianxin160
  • jianxin160
  • 2011年08月14日 22:39
  • 3334
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios应用程序的生命周期
举报原因:
原因补充:

(最多只允许输入30个字)