美文网首页
Auto Layout 和 Frame 在 UI 布局和渲染上有

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 的优化

    1. 尽量压缩视图层级,减少计算量;
    2. 同时,Layout 的计算也可以通过后台线程来处理,这样就可以不阻塞主线程操作。其计算结果亦可以被缓存,让之后的界面布局渲染加速。成熟的解决方案有 Facebook 的 ComponentKit、Pinterest 的 Texture (前身是 ASDK),及 LinkdedIn 的 LayoutKit。

    相关文章

      网友评论

          本文标题:Auto Layout 和 Frame 在 UI 布局和渲染上有

          本文链接:https://www.haomeiwen.com/subject/prhfhqtx.html