UIAbility 生命周期方法

生命周期流程图

UIAbility的生命周期官方文档地址https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/uiability-lifecycle-V13
1. onCreate(want: Want, launchParam: LaunchParam)
  • 触发时机:Ability首次创建时

  • 作用:初始化核心资源和全局数据

  • 参数说明

    参数 类型 说明
    want Want 包含启动Ability的源信息(如bundleName、abilityName、parameters等)
    launchParam AbilityConstant.LaunchParam 系统保留参数(当前版本未开放使用)
2. onWindowStageCreate(windowStage: WindowStage)
  • 触发时机:UI窗口创建阶段

  • 作用:加载UI布局和初始化界面元素

  • 参数说明

    参数 类型 说明
    windowStage window.WindowStage 窗口管理器对象,通过loadContent()方法加载页面
3. onWindowStageWillDestroy(windowStage: WindowStage)
  • 触发时机:窗口即将销毁前

  • 作用:释放窗口关联资源

  • 参数说明

    参数 类型 说明
    windowStage window.WindowStage 即将销毁的窗口对象
4. onWindowStageDestroy()
  • 触发时机:窗口完全销毁后

  • 作用:执行窗口销毁后的清理操作

5. onWindowStageRestore(windowStage: WindowStage)
  • 触发时机:窗口需要恢复时(如从后台返回)

  • 参数说明

    参数 类型 说明
    windowStage window.WindowStage 重新创建的窗口对象
6. onDestroy()
  • 触发时机:Ability销毁前

  • 作用:释放所有全局资源

7. onForeground()
  • 触发时机:Ability进入前台

  • 作用:恢复UI动画/定时器等可见操作

8. onBackground()
  • 触发时机:Ability进入后台

  • 作用:暂停非必要操作以节省资源

9. onNewWant(want: Want, launchParam: LaunchParam)
  • 触发时机:已存在的Ability被重新启动

  • 参数说明

    参数 类型 说明
    want Want 新的启动意图参数
    launchParam LaunchParam 系统保留参数
10. onShare(wantParam: Record<string, Object>)
  • 参数说明

    参数 类型 说明
    wantParam Object 包含分享数据的键值对(如uri、type等)
11. onContinue(wantParam: Record<string, Object>)
TypeScript 复制代码
onContinue(wantParam: Record<string, Object>): AbilityConstant.OnContinueResult
  • 参数说明

    参数 类型 说明
    wantParam Object 跨设备迁移时的数据载体
  • 返回值

    说明
    AGREE(0) 同意迁移
    CANCEL(1) 取消迁移
12. onDump(params: Array<String>)
TypeScript 复制代码
onDump(params: string[]): string[]
  • 参数说明

    参数 类型 说明
    params string[] 诊断命令参数(通过hdc shell传入)
13. onSaveState(reason: StateType, wantParam: Record<string, Object>)
TypeScript 复制代码
onSaveState(reason: AbilityConstant.StateType, wantParam: Record<string, Object>): AbilityConstant.OnSaveResult
  • 参数说明

    参数 类型 说明
    reason StateType 触发原因(MIGRATION=0, PAGE_RECOVER=1)
    wantParam Object 状态数据存储容器
14. onPrepareToTerminate()
TypeScript 复制代码
onPrepareToTerminate(): boolean
  • 返回值

    说明
    true 允许系统终止
    false 拒绝终止请求
15. onBackPressed()
TypeScript 复制代码
onBackPressed(): boolean
  • 返回值

    说明
    true 已处理返回事件
    false 由系统默认处理

关键数据类型说明

Want 对象结构示例:
TypeScript 复制代码
{
  deviceId: "",      // 目标设备ID,空时表示本设备
  bundleName: "",    // 目标应用包名
  abilityName: "",   // 目标Ability名称
  parameters: {      // 自定义参数
    key1: "value1",
    key2: 123
  }
}
WindowStage 核心方法:
方法 说明
loadContent(path: string) 加载UI页面(如pages/Index
getMainWindow() 获取窗口对象用于设置属性
相关推荐
ChinaDragonDreamer10 天前
HarmonyOS:知识点总结(一)
harmonyos·鸿蒙
加农炮手Jinx10 天前
Flutter for OpenHarmony 实战:JWT — 构建安全的无状态认证中心
网络·flutter·华为·harmonyos·鸿蒙
雷帝木木11 天前
Flutter for OpenHarmony:Flutter 三方库 money2 — 坚不可摧的鸿蒙金融核心组件
网络·flutter·http·华为·金融·harmonyos·鸿蒙
特立独行的猫a11 天前
uniapp-x的HarmonyOS鸿蒙应用开发:tabbar底部导航栏的实现
华为·uni-app·harmonyos·鸿蒙·uniapp-x
●VON11 天前
HarmonyOS应用开发实战(基础篇)Day10 -《鸿蒙网络请求实战》
网络·学习·华为·harmonyos·鸿蒙·von
●VON12 天前
HarmonyOS应用开发实战(基础篇)Day08-《构建布局详解上》
华为·harmonyos·鸿蒙·von
加农炮手Jinx14 天前
Flutter for OpenHarmony 实战:疯狂头像 App(三)— 复合动画与交互反馈 — 让 UI 跃动起来
flutter·ui·交互·harmonyos·鸿蒙
_waylau15 天前
鸿蒙架构师修炼之道-架构师设计思维特点
华为·架构·架构师·harmonyos·鸿蒙·鸿蒙系统
Betelgeuse7615 天前
【Flutter For OpenHarmony】 项目结项复盘
华为·交互·开源软件·鸿蒙
ITUnicorn16 天前
【HarmonyOS 6】进度组件实战:打造精美的数据可视化
华为·harmonyos·arkts·鸿蒙·harmonyos6