美文网首页
ConstraintLayout 的性能

ConstraintLayout 的性能

作者: couriravant | 来源:发表于2019-12-23 00:59 被阅读0次

为了更好地理解 ConstraintLayout 的性能,我们先回过头来看看 Android 如何绘制视图。

当用户将某个 Android 视图作为焦点时,Android 框架会指示该视图进行自我绘制。这个绘制过程包括 3 个阶段:

1. 测量

系统自顶向下遍历视图树,以确定每个 ViewGroup 和 View 元素应当有多大。在测量 ViewGroup 的同时也会测量其子对象。

2. 布局

系统执行另一个自顶向下的遍历操作,每个 ViewGroup 都根据测量阶段中所确定的大小来确定其子对象的位置。

3. 绘制

系统再次执行一个自顶向下的遍历操作。对于视图树中的每个对象,系统会为其创建一个 Canvas 对象,以便向 GPU 发送一个绘制命令列表。这些命令包含系统在前面 2 个阶段中确定的 ViewGroup 和 View 对象的大小和位置。

image

**▲ **测量阶段如何遍历视图树的示例

绘制过程中的每个阶段都需要对视图树执行一次自顶向下的遍历操作。因此,视图层次结构中嵌入(或嵌套)的视图越多,设备绘制视图所需的时间和计算功耗也就越多。通过在 Android 应用布局中保持扁平的层次结构,您可以为应用创建响应快速而灵敏的界面。

refer:https://mp.weixin.qq.com/s/gGR2itbY7hh9fo61SxaMQQ

相关文章

网友评论

      本文标题:ConstraintLayout 的性能

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