应用程序App的启动过程

应用程序App启动分两类:1. 有storyboard 2. 没有storyboard storyboard :

有storyboard情况下

1.执行 main 函数;

2.执行UIApplicationMain函数

* 创建UIApplication 对象;

* 创建UIApplication 的 delegate 对象;

(注: UIApplicationMain 函数的第三个参数就是 UIApplication 的名称,如果指定为 nil, 它会默认为 UIApplication, UIApplicationMain 函数的第四个参数就是 UIApplication 的代理 )

3. 开启一个主运行循环,保证应用程序不会退出

4. 根据 Info.plist 获得 Main.storyboard 的文件名, 加载 Main.storyboard(有storyboard的情况)

* 创建UIWindow;

* 创建和设置UIWindow 的 rootViewController

* 显示窗口

没有storyboard情况下 : 

1.main 函数;

2.UIApplicationMain

* 创建UIApplication 对象;

* 创建UIApplication 的 delegate 对象

(注: UIApplicationMain 函数的第三个参数就是 UIApplication 的名称,如果指定为 nil, 它会默认为 UIApplication, UIApplicationMain 函数的第四个参数就是 UIApplication 的代理 )

3. 开启一个主运行循环,保证应用程序不会退出

3.delegate 对象开始处理(监听)系统事件 (没有storyboard的情况)

* 程序启动完毕的时候,就会调用代理的 application:didFinishLaunchingWithOptions: 方法;

* 在application:didFinishLaunchingWithOptions: 方法中创建UIWindow;

* 创建和设置UIWindow 的 rootViewController;

* 显示窗口;

应用的生命周期 :   

  • -(BOOL)application:(UIApplication )application willFinishLaunchingWithOptions: (NSDictionary )launchOptions 告诉代理进程启动但还没进入状态保存
  • -(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions: (NSDictionary )launchOptions 告诉代理启动基本完成程序准备开始运行
  • -(void)applicationWillResignActive:(UIApplication *)application 当应用程序将要入非活 动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了
  • -(void)applicationDidBecomeActive:(UIApplication *)application 当应用程序入活动状态 执行,这个刚好跟上面那个方法相反
  • -(void)applicationDidEnterBackground:(UIApplication *)application 当程序被推送到后台 的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可
  • -(void)applicationWillEnterForeground:(UIApplication *)application 当程序从后台将要重 新回到前台时候调用,这个刚好跟上面的那个方法相反。
  • -(void)applicationWillTerminate:(UIApplication *)application 当程序将要退出是被调 用,通常是用来保存数据和一些退出前的清理工作。
时间: 2024-12-16 20:09:52

应用程序App的启动过程的相关文章

Android应用程序的Activity启动过程简要介绍和学习计划

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6685853 在Android系统中,Activity和Service是应用程序的核心组件,它们以松藕合的方式组合在一起构成了一个完整的应用程序,这得益 于应用程序框架层提供了一套完整的机制来协助应用程序启动这些Activity和Service,以及提供Binder机制帮助它们相互间进行通信.在前 面的文章Android进程间通信(IPC)机制B

0-Android应用程序的Activity启动过程简要介绍和学习计划

源码分析 之 Activity启动过程简要介绍和学习计划 来源: http://blog.csdn.net/luoshengyang/article/details/6685853 声明: RTFSC(Read the fucking source code)是Linus的名言,也是学习IT技术一个重要手段.学习android最好手段就是对android进行系统分析,关于android系统的源码,CSDN的老罗分析分析是最系统一个.但是老罗的分析源码的blog,有几点不够好: 1.废话太多,可能

App的启动过程

所有的app都是通过launcher去启动的 launcher自己也是一个app,一个系统级别的app,放在asystem/app/下,使用系统签名. 对代码进行分析 可以看到launcher这个类其实就是一个activity 然后找到onclick事件 StartActivitySafely()这个方法做启动a pp.接下来,跟到StartActivitySafely()这个方法 代码一直往下跟,ActivityManagerNative.getDefault()这个方法,实际上是Activi

android5系统源码分析点击app图标启动过程

从点击桌面app图片开始看,代码如下: //源码路径D:\dow\android-5.1.1_r1\android-5.1.1_r1\packages\apps\Launcher2\src\com\android\launcher2\Launcher.java public void onClick(View v) { // Make sure that rogue clicks don't get through while allapps is launching, or after the

iOS程序的完整启动过程(有storyboard)

1.先执行main函数,main内部会调用UIApplicationMain函数 2.UIApplicationMain函数里面做了什么事情:1> 创建UIApplication对象 2> 创建UIApplication的delegate对象-----AppDelegate 3> 开启一个消息循环 * 每监听到对应的系统事件时,就会通知AppDelegate 4> 为应用程序创建一个UIWindow对象(继承自UIView),设置为AppDelegate的window属性 5>

005-iOS App程序启动过程

掌握 • 1.项目中常见文件(Info.plist和pch文件的作用) • 2.UIApplication • 3.AppDelegate的代理方法 • 4.iOS程序的完整启动过程(UIApplication.AppDelegate.UIWindow.UIViewController的关系) • 1.项目中常见文件(Info.plist和pch文件的作用) Info.plist 1>Info.plist常见的设置 •建立一个工程后,会在Supporting files文件夹下看到一个“工程名-

【程序启动四大对象】UIApplicationDelegate & 程序启动过程

A.概念 1.移动app非常容易受到其他的系统.软件事件的干扰,如来电.锁屏 2.app受到干扰的时候,UIApplication会通知delegate,来代理处理干扰事件 3.delegate可以处理的事件 (1)app声明周期(启动.关闭) (2)系统事件(来电) (3)紧急事件(内存警告) B.使用 称为delegate的条件:遵守UIApplicationDelegate协议 项目开始会自动创建:AppDelegate 1.delegate方法 1 - (BOOL)application

Android应用程序启动过程源代码分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6689748 前文简要介绍了Android应用程序的Activity的启动过程.在Android系统中,应用程序是由Activity组成的,因此,应用程 序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细分析应用程序框架层的源代码,了解Android应用程序的启动过程. 在上一篇文章Android应用程序的Activit

005-程序启动过程

掌握 • 1.项目中常见文件(Info.plist和pch文件的作用) • 2.UIApplication • 3.AppDelegate的代理方法 • 4.iOS程序的完整启动过程(UIApplication.AppDelegate.UIWindow.UIViewController的关系) • 1.项目中常见文件(Info.plist和pch文件的作用) Info.plist 1>Info.plist常见的设置 •建立一个工程后,会在Supporting files文件夹下看到一个“工程名-