美文网首页
对App的冷启动的总结

对App的冷启动的总结

作者: 包砸豆沙馅 | 来源:发表于2021-03-21 18:06 被阅读0次

    app的冷启动:即app从来没有打开,从点击app到看到首屏为止的这个过程,叫做app的冷启动。

    应用程序的入口为main()函数, 所以app的启动大致就分为以下几个阶段:

    • main()函数执行之前
    • main()函数执行之后到首屏渲染
    • main()首屏渲染之后

    那么这三个阶段app分别都做了什么工作?

    • main()函数执行之前:
      1. 加载可执行文件,即Mach-O文件(ipa文件打开之后有个包,包里面包含了代码签名文件夹,一堆资源文件 和 一个二进制可执行文件)
      2. 加载动态链接解释器dyld,以及加载依赖动态库,包括系统和自己的,执行初始化方法。进行rebase指针调整和符号绑定。
      3. Objc运行时的初始化,包括Objc相关类的注册,category的注册,selector唯一性检查等。
      4. 初始化,包括+load方法的载入,attribute修饰的函数的调用,创建C++静态全局变量。
    • main()函数执行之后:指的是从main()函数执行开始,到appDelegatedidFinishLaunchingWithOpentions方法里首屏渲染相关方法执行完成。
    • 首屏渲染之后:指的是window.rootViewController设置 到函数Appdelegate didFinishLanuchingWithOptions方法域结束为止

    相关文章

      网友评论

          本文标题:对App的冷启动的总结

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