视频字幕
鸿蒙Stage模型是华为推出的新一代应用开发架构,相比传统的FA模型,Stage模型采用了更加清晰的组件化设计。它主要包含UIAbility用于界面展示,ExtensionAbility用于后台服务,以及WindowStage和Context等核心组件,为开发者提供了更好的开发体验和应用性能。
UIAbility是Stage模型中最重要的组件之一,负责管理应用的用户界面。它拥有完整的生命周期,从Create创建开始,经过WindowStageCreate窗口创建,进入Foreground前台显示,可以切换到Background后台运行,最终通过WindowStageDestroy和Destroy完成销毁。这个生命周期为开发者提供了精确的状态控制能力。
ExtensionAbility是Stage模型中的扩展组件,主要用于提供后台服务功能。它包含多种类型:ServiceExtensionAbility用于长期后台服务,FormExtensionAbility用于桌面卡片功能,WorkSchedulerExtensionAbility用于延时任务调度,InputMethodExtensionAbility用于输入法扩展。每种类型都有特定的应用场景和生命周期管理。
WindowStage是Stage模型中的核心窗口管理组件,它与UIAbility密切配合,负责管理应用的窗口生命周期。当UIAbility创建时,会同时创建对应的WindowStage来管理窗口。WindowStage可以管理多个窗口实例,支持窗口的创建、显示、隐藏和销毁操作,为用户提供流畅的多窗口体验。
Context上下文系统是Stage模型的重要组成部分,它为应用提供运行时环境信息和系统服务访问能力。Context采用继承结构设计,BaseContext是基础类,ApplicationContext提供应用级别的上下文,AbilityContext为UIAbility提供专用上下文,ExtensionContext则为各种ExtensionAbility提供上下文支持,包括ServiceExtensionContext和FormExtensionContext等具体实现。