Auto Layout 和 Frame 在 UI 布局和渲染上有
作者:
ChancePro | 来源:发表于
2018-12-07 22:59 被阅读14次
区别
- Auto Layout 是针对多尺寸屏幕的设计。其本质是通过线性不等式设置UI控件的相对位置,从而适配多种iPhone/iPad 屏幕的尺寸。
- Frame 是基于 XY 坐标轴系统的布局。它从数学上限定了 UI 控件的具体位置,是 iOS 开发中最底层、最基本的界面布局机制。
-
Auto Layout 的性能比 Frame 差很多。Auto Layout 的布局过程是首先求解线性不等式,然后再转化为 Frame 进行布局。其中求解的计算量非常大,通常 Auto Layout 的性能损耗是 Frame 布局的10倍左右。
对 Auto Layout 的优化
- 尽量压缩视图层级,减少计算量;
- 同时,Layout 的计算也可以通过后台线程来处理,这样就可以不阻塞主线程操作。其计算结果亦可以被缓存,让之后的界面布局渲染加速。成熟的解决方案有 Facebook 的 ComponentKit、Pinterest 的 Texture (前身是 ASDK),及 LinkdedIn 的 LayoutKit。
本文标题:Auto Layout 和 Frame 在 UI 布局和渲染上有
本文链接:https://www.haomeiwen.com/subject/prhfhqtx.html
网友评论