ios app在启动前都做了哪些工作?

  1. dyld 开始将程序二进制文件初始化
  2. 交由 ImageLoader 读取 image,其中包含了我们的类、方法等各种符号
  3. 由于 runtime 向 dyld 绑定了回调,当 image 加载到内存后,dyld 会通知 runtime 进行处理
  4. runtime 接手后调用 map_images 做解析和处理,接下来 load_images 中调用 call_load_methods 方法,遍历所有加载进来的 Class,按继承层级依次调用 Class 的 +load 方法和其 Category 的 +load 方法

链接:http://blog.sunnyxx.com/2014/08/30/objc-pre-main/

你可能感兴趣的:(ios app在启动前都做了哪些工作?)