iOS App加载到第一个界面展示的详细流程

99 阅读1分钟

详细流程:
1.dyld(动态链接器)加载可执行文件和动态库(系统动态库和自定义动态库);
2.Rebase:可执行文件和共享库中的重定位信息
3.Bind:解析可执行文件和共享库中的符号引用,并将它们绑定到相应的符号定义
4.Objc:runtime初始化,对class和category进行注册,分类被插入到方法列表中,selector唯一性判断等;
5.Initializers:加载类和分类的load方法,调用c++静态初始化器和__attribute(construct)修饰的函数;
6.dyld调用main方法;
7.执行UIApplicationMain函数,以及Appdelegate的didFinishLaunchingWithOptions方法;
8.初始化窗口,并设置根视图控制器,设置窗口可见,以及第三方SDK的初始化工作等;
9.调用根视图控制器的viewDidLoad以及viewDidAppear到第一个界面的显示,以及通过网络获取首页的数据。