organizing lifecycle
组件生命周期
在组件拓扑中添加和移除组件实例时,会创建和销毁组件实例。这可以通过以下两种方式之一发生:
- 静态地:该实例在组件清单中被声明为树中另一个组件的子组件。静态组件仅当一个更新改变了组件拓扑时才会创建和销毁。
- 动态地:实例在运行时使用
fuchsia.component.Realm协议在组件collection中添加或移除。动态组件在系统关闭时销毁。
一旦组件被销毁,框架就会移除它的持久状态(比如本地存储)。
当一个组件尝试打开到另一组件的通道时(这称为绑定(binding)),框架会启动后者的一个组件实例。当连接到由组件所暴露的能力时,绑定会隐式发生。对已经启动的组件进行绑定,会连接到其当前运行的实例。
组件可能会通过退出程序(由组件的 runner 定义)自行停止,或者可能由框架在系统关闭时停止。在被销毁之前,框架将组件移动到关闭状态以表示它不能再次启动。
{: width="662"}
注意:要获取关于组件状态和执行的更多详细信息,请参阅组件生命周期。
最后更新:
2022 年 12 月 31 日(Saturday) 21:07 CST