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
 
 

相关文章推荐

iOS应用程序的生命周期

1.iOS应用程序的状态有五种,分别如下: 1)Not running:app还没有运行 2)Active:app运行在foreground和正在接收事件 3)Inactive:app运行在foreg...

IOS应用程序生命周期详解

第一、 IOS应用程序的五种状态: 1. Not running:应用还没有启动,或者应用正在运行但是途中被系统停止。 2. Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行...

iOS应用程序生命周期

iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受...

深度解析iOS应用程序的生命周期

业界 移动开发 云计算 软件研发 程序员 极客头条 专题 AndroidiOS移动游戏HTML5近匠Swift智能硬件 订阅移动开发RSSCSDN首页> 移...

深度解析iOS应用程序的生命周期

iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给所有App来运行,而你提供自己编写的代码来定制App的外观...

iOS应用程序生命周期&启动周期函数

—程序的生命周期         a.程序的生命周期是指应用程序启动到应用程序结束整个阶段的全过程         b.每一个IOS应用程序都包含一个UIApplication对象,IOS系统通过该U...
  • Theshy
  • Theshy
  • 2015年09月09日 13:20
  • 164

IOS应用程序生命周期

今天开启了iOS新篇章,初步了解了iOS的开发过程,下面说一说iOS开发前需要知道的一个基本知识。 ios应用程序的生命周期 1.首先我们来看一下应用程序的状态 not running  未运...

iOS应用程序执行的生命周期

main函数探究 在iOS项目中有一个main.m的文件,它是程序的入口类,代码如下: #import #import "AppDelegate.h" int main(int ar...

深度解析iOS应用程序的生命周期

http://www.csdn.net/article/2015-06-23/2825023 iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统...

iOS应用程序生命周期(前后台切换,应用的各种状态)详解

iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的。 iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的。在后台时,程序会受...
  • kwylei
  • kwylei
  • 2015年12月04日 08:25
  • 203
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios应用程序的生命周期
举报原因:
原因补充:

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