性能优化

2021-03-22  本文已影响0人  Amor瑾年v

自动布局

Auto Layout 在 iOS 12 中优化后的性能,已经基本和手写布局一样可以达到性能随着视图嵌套的数量呈线性增长 了。而在此之前的 Auto Layout,视图嵌套的数量对性能的影响是呈指数级增长的。
为什么 iOS 12 以前性能不好呢? 原因是:iOS 12以前,当有约束变化时都会重新创建一个计算引擎 NSISEngier 将约束关系重新加起来,重新计算。涉及到约束关系变多时,新的计算引擎需要重新计算,最终导致计算量指数级增加!
Cassoway 算法本身没有问题,问题是iOS 12之前在某些情况下没有用好这个算法。

iOS 12 以后的 AutoLayout 更多的利用了 Cassoway 算法的界面更新策略,使其真正完成了高效的界面线性策略计算,使其和手写布局有了几乎相同的高性能!

避免过于庞大的XIB

XIB是推出比较早的绘图工具,后面在iOS5的时候推出了StoryBoard来取代XIB的地位。不过到目前它们两个是共存的状态,原因是它们的适用场景不同。

上一篇下一篇

猜你喜欢

热点阅读