ios生命周期之main函数

intmain(intargc,char* argv[]) {

    @autoreleasepool {

        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

    }

}

程序从main函数开始执行,返回一个UIApplicationMain; UIApplicationMain里边的第三个参数为nil;默认为UIAplication本身,官方文档有说明,参数类型为字符串; 第四个参数为UIApplication的代理名称

argc 是int 类型,代表程序启动时的参数个数,默认是1,

argv代表各个参数的值,默认指程序启动的名字

程序结束进程的时候,main函数才会返回;一个main函数开始执行到结束进程是一整个的生命周期

在runloop的作用下,进程不结束,main函数不会返回;


宏观上的一个流程是:

1. 打开程序

2. 执行main函数

3. 执行UIApplicationMain函数

4. 初始化UIApplication(创建和设置代理对象,开启事件循环)(监听系统事件)

交给AppDelegate执行

a. 程序加载完毕:didFinishLaunchingWithOptions

b.程序获得焦点:applicationDidBecomeActive

c. 程序进入后台:applicationDidEnterBackground

d.程序失去焦点:applicationWillResignActive

e.程序从后台回到前台:applicationWillEnterForeground

f. 内存警告:applicationDidReceiveMemoryWarning

g. 程序即将退出:applicationWillTerminate

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容