# 组件绘制优化

应用启动性能与FrameNode树的节点数量及属性相关，建议采取以下UI组件优化方案：

#### 避免在自定义组件生命周期内执行高耗时操作

**图1** 自定义组件生命周期流程图

自定义组件生命周期如上图所示。创建完成后，在执行build函数前，将先调用aboutToAppear()生命周期回调函数。此时若执行耗时操作，将阻塞UI渲染，增加UI主线程负担。因此，应避免在自定义组件的生命周期内执行高耗时操作。具体原理可参考自定义组件生命周期。具体优化案例请参阅避免在自定义组件的生命周期内执行高耗时操作。

#### 按需注册组件属性

在开发应用UI界面时，为每个组件设置属性，进行UI样式和行为逻辑处理。如果单个组件设置多个属性且该组件在应用中频繁使用，单个属性的设置将显著影响应用性能。具体优化案例请参阅按需注册组件属性。

#### 减少布局计算

当组件的宽高不需要自适应时，建议在UI描述中明确指定组件的宽高数值。如果组件外部的容器尺寸发生变化，例如在拖拽缩放等场景下，组件本身的宽高固定，理论上该组件在布局阶段不会参与Measure阶段，节点中已保存了相应的大小信息。如果组件内容较多，由于避免了整体的测算过程，性能将显著提升。具体优化案例，请参阅利用布局边界减少布局计算、给定List组件宽高**。**