iOS 项目启动时间优化之pre-main 时间

释放双眼,带上耳机,听听看~!

苹果为查看 pre-main 提供了支持,具体配置如下,配置的 key 为:DYLD_PRINT_STATISTICS。

然后再运行项目,Xcode 就会在控制台输出这部分 pre-main 的耗时:

 

Total pre-main time: 2.2 seconds (100.0%)
dylib loading time: 1.0 seconds (45.2%)
rebase/binding time: 100.05 milliseconds (4.3%)
ObjC setup time: 207.21 milliseconds (9.0%)
initializer time: 946.39 milliseconds (41.3%)
slowest intializers :
libSystem.B.dylib :   8.54 milliseconds (0.3%)
libBacktraceRecording.dylib :  46.30 milliseconds (2.0%)
libglInterpose.dylib : 187.42 milliseconds (8.1%)
beiliao : 896.56 milliseconds (39.1%)

 

但是这部分不是那么好处理,因为这部分主要是由以下几个方面影响的:

  • 用到的系统的动态库的数量,比如 UIKit.framework 等
  • cocoapods 里引用的第三方框架数量
  • 项目中类的数量
  • load 方法中执行的代码
  • 组件化

 

人已赞赏
iOS文章

iOS Error Domain=NSCocoaErrorDomain Code=4099

2020-5-3 21:01:49

iOS文章

iOS App启动+广告思路

2020-5-3 22:16:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索