HarmonyOS Stage 模型详解:从架构演进到实战落地
自 HarmonyOS 3.1 起,华为正式引入 Stage 模型,并宣布 FA(Feature Ability)模型逐步废弃。在 HarmonyOS 6.0.0(API 6.0.2) 时代,Stage 模型已成为唯一推荐的应用架构标准。
如果你仍在使用 FA 模型,你的应用将面临无法上架新版应用市场、失去最新 UI 能力支持以及难以适配多设备协同等风险。本文将带你彻底搞懂 Stage 模型,涵盖核心差异、三大概念、项目结构及屏幕尺寸获取实战。
一、Stage 模型 vs FA 模型:架构演进
1. FA 模型(已废弃)
FA 模型是早期架构,灵感来自 Android 的 Activity/Service 模式。
// FA 模型示例(已不推荐)
export default class MainAbility extends Ability {
onCreate() {
// 初始化逻辑
}
}
FA 模型的缺陷在于能力与 UI 强耦合,多窗口管理复杂,且缺乏统一的生命周期管理,难以支持跨设备协同。
2. Stage 模型(现代标准)
Stage 模型采用 '能力 + 窗口 + 页面'三层解耦架构,更符合现代操作系统设计理念。
| 维度 | FA 模型 | Stage 模型 |
|---|---|---|
| 入口 | MainAbility | UIAbility |
| UI 管理 | Ability 直接控制 UI | WindowStage 管理窗口,Page 描述 UI |
| 生命周期 | 分散在 Ability 中 | 统一由 UIAbility 和 WindowStage 协同管理 |
| 多实例支持 | 困难 | 原生支持(如分屏、悬浮窗) |
| 跨设备协同 | 需手动实现 | 内置 Continuation 能力 |
💡 核心思想:UI 与业务逻辑分离,窗口与页面解耦,能力可复用。
二、Stage 模型三大核心概念
1. UIAbility:应用的能力入口
UIAbility 是承载 UI 的能力单元,职责比 FA 中的 MainAbility 更清晰。


