当前位置: 首页 > article >正文

UIAbility 生命周期方法

生命周期流程图

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

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

  • 参数说明

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

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

  • 参数说明

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

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

  • 参数说明

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

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

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

  • 参数说明

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

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

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

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

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

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

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

  • 参数说明

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

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

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

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

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

    参数类型说明
    reasonStateType触发原因(MIGRATION=0, PAGE_RECOVER=1)
    wantParamObject状态数据存储容器
14. onPrepareToTerminate()
onPrepareToTerminate(): boolean
  • 返回值

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

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

关键数据类型说明

Want 对象结构示例:
{
  deviceId: "",      // 目标设备ID,空时表示本设备
  bundleName: "",    // 目标应用包名
  abilityName: "",   // 目标Ability名称
  parameters: {      // 自定义参数
    key1: "value1",
    key2: 123
  }
}
WindowStage 核心方法:
方法说明
loadContent(path: string)加载UI页面(如pages/Index
getMainWindow()获取窗口对象用于设置属性


http://www.kler.cn/a/539253.html

相关文章:

  • Axure原型图怎么通过链接共享
  • EasyExcel 导出合并层级单元格
  • SQLAlchemy 的内存消耗
  • android的DataBinding的使用
  • 黑马React保姆级(PPT+笔记)
  • QML 和 Qt Quick 介绍
  • Spring Boot快速开发
  • python migate执行报错
  • 山东大学软件学院人机交互期末复习笔记
  • android的DataBinding的使用
  • 【CubeMX-HAL库】STM32F407—无刷电机闭环控制
  • 【WebSocket探秘】解锁 WebSocket:开启实时交互新境界
  • React 实现自定义进度条(类似于ant design中的progress)
  • Log4j2在Spring项目中的集成与应用
  • 深度求索(DeepSeek)的AI革命:NLP、CV与智能应用的技术跃迁
  • 论文阅读:MGMAE : Motion Guided Masking for Video Masked Autoencoding
  • Deepseek的MLA技术原理介绍
  • C++实现黑白棋小游戏
  • Python和JavaScript在字符串比较上的差异
  • 高性能分布式全局ID生成器-雪花算法实现
  • 【设计模式】【行为型模式】模板方法模式(Template Method)
  • DeepSeek-R1 智能知识库系统使用指南
  • 上拉触底案例
  • 使用docker搭建FastDFS文件服务
  • 探头特征点创建
  • 数据库5(MySQL版)