一、背景

随着鸿蒙系统的演进,先后提供了两种应用模型。从 API 7 开始支持 FA 模型,目前已不再主推;从 API 9 开始新增 Stage 模型,是目前主推且长期演进的模型,通过以下对比了解两个模型之间的区别。

二、最核心的区别

对比维度 FA 模型 Stage 模型
ArkTS 引擎实例管理 每个应用组件(Ability)独享一个引擎实例 多个应用组件(UIAbility)共享一个引擎实例
生命周期与上下文管理 无统一应用上下文,每个 Ability 独立生命周期(孤岛式管理) 全局 ApplicationContext 统筹管理,UIAbility 生命周期隶属于应用进程(容器式管理)
窗口管理能力 无统一窗口管理入口,窗口与 AbilitySlice 强耦合 内置 WindowStage 统一管理窗口,支持多窗口、悬浮窗、分屏等复杂场景

三、应用组件

模型 组件类型 说明
Stage 模型 UIAbility 组件 承载 UI 页面,是应用的核心交互载体
ExtensionAbility 组件 提供特定场景扩展能力(如 ServiceExtension、FormExtension、InputMethodExtension 等),替代 FA 模型的 ServiceAbility/DataAbility
FA 模型 PageAbility 组件 承载 UI 页面,与 AbilitySlice 配合实现页面跳转
ServiceAbility 组件 提供后台服务能力
DataAbility 组件 提供跨应用数据共享能力

四、进程模型

Stage 模型 FA 模型 关键差异
主进程 (UIAbility) + ExtensionAbility 进程 + 渲染进程 (WebView) 主进程 + 渲染进程 (WebView) Stage 模型的 ExtensionAbility 可独立进程运行,避免后台服务阻塞主进程;FA 模型的 ServiceAbility 运行在主进程或独立进程,需手动配置

五、线程模型

Stage 模型 FA 模型 关键差异
主线程 + TaskPool 线程 + Worker 线程 主线程 + Ability 线程 + Worker 线程 Stage 模型的 TaskPool 是更高效的任务调度机制,支持任务并发和负载均衡,替代 FA 模型的 Ability 线程(单线程模型,调度效率低)

六、启动模式

Stage 模型 FA 模型 关键差异
单实例 + 多实例 + 指定实例 单实例 + 多实例 Stage 模型新增 指定实例 模式,可指定已存在的 UIAbility 实例启动,精准控制组件复用逻辑

七、生命周期

Stage 模型(UIAbility 生命周期) onCreate → onWindowStageCreate → onForeground → onBackground → onWindowStageDestroy → onDestroy
FA 模型(PageAbility 生命周期) onCreate → onStart → onActive → onInactive → onShow → onHide → onDestroy
FA 模型(ServiceAbility 生命周期) onStart→onCommand→onConnect→onDisconnect→onStop
核心差异 Stage 模型新增 窗口生命周期钩子(onWindowStageCreate/onWindowStageDestroy),实现 UI 与窗口的解耦;FA 模型生命周期与页面跳转强绑定,逻辑更混乱

八、上下文与资源管理

Stage 模型 全局 ApplicationContext 统一管理应用配置、资源、权限,任意 UIAbility 可直接获取
FA 模型 无全局上下文,资源需在 Ability 间手动传递(如通过 Intent)
开发影响 Stage 模型资源共享更便捷,无需写大量数据传递代码

九、其他

对比维度 FA 模型 Stage 模型 开发影响
跨设备能力 基于 Ability 迁移,需手动处理状态同步,易出现数据不一致 基于 UIAbility 分布式迁移,结合 Stage 上下文管理,迁移后状态不丢失、体验连贯 Stage 模型是鸿蒙跨端流转、元服务的核心支撑,FA 模型跨设备能力受限
开发范式 Ability 与页面耦合度高,模块划分模糊,依赖手动传递数据,样板代码多,无明确分层设计 遵循前后端分离理念,支持模块化拆分(entry/feature/library),依赖注入灵活,工程结构清晰,符合现代应用开发规范 Stage 模型可维护性、扩展性更强,降低团队协作成本
兼容性 仅适配 API 8 及以下版本,HarmonyOS NEXT 中部分 API 已废弃,兼容性逐步收缩 适配 API 9 及以上版本,HarmonyOS NEXT 主推模型,向下兼容部分 FA 能力(需适配改造) 新项目优先选 Stage 模型,存量 FA 项目需逐步迁移
生态支持 生态逐步弱化,新特性(元服务、跨端流转、AI 原生能力)不再适配 生态持续完善,所有鸿蒙新特性、官方工具链、第三方组件均优先支持,是鸿蒙原生应用的唯一推荐模型 依托 Stage 模型可接入鸿蒙最新生态能力,保障应用长期演进

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐