runtime.runloop面试常见问题

深度去了解 iOS 启动优化

2021-05-12  本文已影响0人  iOS开发之家

本文要是要针对启动优化相关概念和最佳实践的介绍。

什么是启动

首先来看一下启动类型都有哪几种,以及每种启动类型的特点。

启动类型

共有三种启动类型,分别为:冷启动、热启动和重新启动,下面为它们的特点。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:834688868,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

如果你正在面试,或者正准备跳槽不妨动动小手,添加一下咱们的交流群:834688868 来获取一份详细的大厂面试资料 为你的跳槽加薪多一份保障

介绍完启动类型,下面来看一下启动共分为几个阶段以及每个阶段的应该避免的做法。

启动的六大阶段

六大阶段分别为:系统接口初始化(System Interface)、Runtime 初始化、UIKit 初始化、Application 初始化、初始化第一帧、扩展(Extended)。

先看下每个阶段都具体做了哪些事情。

下面看下每个阶段应该避免的做法。

介绍完启动类型和启动阶段,接下来看一下如何正确的测量。

正确的测量启动

在进行启动时间测量时,应对多次测量环境保持干净一致的测量环境,这样测量的结果才会有说服力。

可以通过下面的方法来保持环境的一致性:

在测量过程中我们应对新旧设备都进行测试。

启动时间可以通过 XCTest 来进行测试。 截屏2021-05-10 下午4.53.33.png

如何优化启动时间

主要通过下面的三大块来优化。

减少工作量

指定正确的优先级

这一块主要针对正确的使用 GCD。

优化代码

总结

作者:_GodIsCoder
链接:https://juejin.cn/post/6960587556551393294
来源:掘金

上一篇下一篇

猜你喜欢

热点阅读