美文网首页
App启动速度分析

App启动速度分析

作者: Jean_Lina | 来源:发表于2021-01-26 14:33 被阅读0次
Total pre-main time:  96.58 milliseconds (100.0%)
         dylib loading time:  19.23 milliseconds (19.9%)
        rebase/binding time:   0.71 milliseconds (0.7%)
            ObjC setup time:   9.73 milliseconds (10.0%)
           initializer time:  66.89 milliseconds (69.2%)
           slowest intializers :
             libSystem.B.dylib :   3.32 milliseconds (3.4%)
   libBacktraceRecording.dylib :   6.97 milliseconds (7.2%)
    libMainThreadChecker.dylib :  26.53 milliseconds (27.4%)
                            AFNetworking :  25.11 milliseconds (26.0%)
  • main()函数之前
    main()函数之前总共使用了96.58ms,在96.58ms中,
    1、加载动态库用了19.23 ms,
    2、指针重定位使用了0.71ms,
    3、ObjC类初始化使用了9.73ms,
    4、各种初始化使用了66.89 ms。
    在初始化耗费的66.89 ms中,用时最多的三个初始化是libSystem.B.dylib、libBacktraceRecording.dylib以及libMainThreadChecker.dylib、AFNetworking。

  • main()函数之前耗时的影响因素
    1、动态库加载越多,启动越慢
    2、Objc类越多,启动越慢
    3、Objc的+load越多,启动越慢
    4、C++静态对象越多,启动越慢
    5、C的constructor函数越多,启动越慢

  • main()函数之后耗时的影响因素
    1、执行main()函数的耗时
    2、执行didFinishLaunchingWithOptions的耗时
    3、rootViewController及其childViewController的加载,view及其subviews的加载。

相关文章

网友评论

      本文标题:App启动速度分析

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