美文网首页
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()之前的过程

    引用 1、dyld 开始将程序二进制文件初始化。 2、交由ImageLoader 读取 image,其中包含了我们...

  • iOS 程序 main函数之前发生什么

    主要参考:iOS程序启动->dyld加载->runtime初始化 过程iOS 程序 main 函数之前发生了什么 ...

  • iOS基础 - 从点击应用图标说起

    iOS从点击一个应用图标到程序主页面显示出来经历了哪些过程呢? 我们可以把启动过程分为main函数之前和main函...

  • main()之前的过程有哪些?

    1main之前的加载过程1)dyld 开始将程序二进制文件初始化2)交由ImageLoader 读取 image,...

  • main()之前的过程有哪些?

    main之前的加载过程 1)dyld 开始将程序二进制文件初始化 2)交由ImageLoader 读取 image...

  • iOS App启动流程

    iOS的App启动一般有两个过程,发生在main函数前的过程和main函数之后的过程。 main函数前 App开始...

  • 回顾, 总结

    iOS程序启动过程 执行Main函数 执行UIApplication Main函数 初始化UIApplicatio...

  • iOS Main 函数之前探究

    操作系统是应用程序和硬件之间的中间人,硬件中最主要的是CPU,处理应用事件。 有操作系统知道 CPU 正在处理哪个...

  • iOS-main函数之前

    我们一般知道 App 程序入口从执行main函数开始,但其实在main函数之前程序做了很多工作。 一、内核启动 A...

  • Main调用之前的加载过程

    1.系统加载可执行文件(自身app的所有.o文件的集合) 2.加载动态链接器dyld,dyld从可执行文件的以来开...

网友评论

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

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