美文网首页
iOS main()之前的过程

iOS main()之前的过程

作者: Crics | 来源:发表于2019-06-29 08:27 被阅读0次

    引用

    1、dyld 开始将程序二进制文件初始化。

    2、交由ImageLoader 读取 image,其中包含了我们的类,方法等各种符号(Class、Protocol 、Selector、 IMP)。

    3、由于runtime 向dyld 绑定了回调,当image加载到内存后,dyld会通知runtime进行处理

    4、runtime 接手后调用map_images做解析和处理

    5、接下来load_images 中调用call_load_methods方法,遍历所有加载进来的Class,按继承层次依次调用Class的+load和其他Category的+load方法

    6、至此 所有的信息都被加载到内存中

    7、最后dyld调用真正的main函数

    注意:dyld会缓存上一次把信息加载内存的缓存,所以第二次比第一次启动快一点


    相关文章

      网友评论

          本文标题:iOS main()之前的过程

          本文链接:https://www.haomeiwen.com/subject/qusucctx.html