365bet体育|www.635288com-365体育手机在线

热门关键词: 365bet体育,www.635288com,365体育手机在线

启动优化2.png

2020-04-07 作者:365bet体育   |   浏览(51)
  • 时间分为两个部分 T1 T2, {T1:系统环境布局时间:创建进程,加载解析可执行文件(库加载,堆栈环境配置等等), T2:从main函数到第一个界面显示时间}

  • 1 库加载越多,启动越慢

  • 2 Objc类越多,越慢

  • 3 静态对象全局对象越多,启动越慢

  • 4 Objc的 load越多,启动越慢

  • 每个objc类都有一个 load函数,而它的调用优先级在调用main函数之前
  • 通过以下操作可以论证上述的观点

    图片 1优化3.png

图片 2启动优化2.png

  • 编译,控制台输出如下
2018-05-09 17:02:43.610114 0800 demo[6371:689596]  [ViewController load]2018-05-09 17:02:43.613407 0800 demo[6371:689596] main 
  • 结论1:尽量避免过多使用 load方法,可以使用 initlalize替代在系统第一次使用到这个类的使用,才会使用到他的 initlalize方法,比如:
init】 // 第一次执行的时候,会先执行 A的nitialize 然后才alloc
  • 结论2:减少- application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions里面的操作,在启动页出现后再进行相关操作.(例如放到子线程中去执行)
  • 每个objc文件都有 load方法,那么他们的执行顺序是怎么样的?图片 3优化4.png
  • 此处的文件顺序,决定了 load的执行顺序

本文由365bet体育发布于365bet体育,转载请注明出处:启动优化2.png

关键词: 365bet官网 iOS 时间 高级