logo头像

小玉的技术博客

app启动过程

前言

app启动性能优化是我们非常关注的一个点,

App启动过程

解析Info.plist

  • 加载相关信息,例如如闪屏
  • 沙箱建立、权限检查
    Mach-O加载
  • 如果是胖二进制文件,寻找合适当前CPU类别的部分
  • 加载所有依赖的Mach-O文件(递归调用Mach-O加载的方法)
  • 定位内部、外部指针引用,例如字符串、函数等
  • 执行声明为attribute((constructor))的C函数
  • 加载类扩展(Category)中的方法
  • C++静态对象加载、调用ObjC的 +load 函数
    程序执行
  • 调用main()
  • 调用UIApplicationMain()
  • 调用applicationWillFinishLaunching
支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励