UIAbility 生命周期方法

embedded/2025/2/13 2:14:10/

生命周期流程图

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.ppmy.cn/embedded/161751.html

相关文章

Ubuntu 多版本 gcc 配置常用命令备忘

用的频率不高&#xff0c;总忘记具体参数 1&#xff0c;安装多版本 gcc 以 gcc-11 和12 为例&#xff1a; sudo apt-get install gcc-11 gcc-12 sudo apt-get install gcc-11 gcc-12 2&#xff0c;配置多版本 gcc gcc 与 g 一起配置进数据库中&#xff1a; sudo update-a…

java基础6(黑马)

一、static 1.static修饰成员变量 static&#xff1a;叫静态&#xff0c;可以修饰成员变量、成员方法。 成员变量按照有无static&#xff0c;分两种。 类变量&#xff1a;有static修饰&#xff0c;属于类&#xff0c;在计算机中只有一份&#xff0c;会被类的全部对象共享。…

15、深度学习-自学之路-反向传播程序展示、激活函数的应用,反向权重的更新、2层神经网络的应用,输入输出相关性的理解。

这个里面要学习和展示的内容会比较多&#xff0c;需要好好的认真思考 第一个要思考的就是&#xff1a;输入和输出相关性的理解&#xff0c;我们先拿一层的神经网络来说明一下&#xff0c; 输入有2个因素&#xff0c;对应有两个权重&#xff0c;输出有一个结果。 输入的两个因…

Mockito从入门到精通教程大纲(基于JUnit 5)

Mockito从入门到精通教程大纲&#xff08;基于JUnit 5&#xff09; 第一章&#xff1a;环境准备与基础概念 单元测试核心原则 测试金字塔&#xff08;单元/集成/端到端测试&#xff09;为什么需要Mock&#xff1f;依赖隔离的重要性 环境搭建 JUnit 5 Mockito 5 依赖配置&…

【测试开发】Python+Django实现接口测试工具

PythonDjango接口自动化 引言&#xff1a; 最近被几个公司实习生整自闭了&#xff0c;没有基础&#xff0c;想学自动化又不知道怎么去学&#xff0c;没有方向没有头绪&#xff0c;说白了其实就是学习过程中没有成就感&#xff0c;所以学不下去。出于各种花里胡哨的原因&#xf…

服务器绑定 127.0.0.1 和 0.0.0.0 的区别

前言 IP 地址实际上并不是分配给计算机的&#xff0c;而是分配给网卡的&#xff0c;因此当计算机上存在多块网卡时&#xff0c;每一块网卡都会有自己的 IP 地址。 绑定 127.0.0.1 是绑定到 lookback 这个虚拟的本地回环接口&#xff0c;该接口只处理本机上的数据&#xff0c;…

C语言基本概念————讨论sqrt()和pow()函数与整数的关系

本文来源&#xff1a;C语言基本概念——讨论sqrt()和pow()函数与整数的关系. C语言基本概念——sqrt和pow函数与整数的关系 1. 使用sqrt()是否可以得到完全平方数的精确的整数平方根1.1 完全平方数的计算结果是否精确&#xff1f;1.2 为什么不会出现误差&#xff08;如 1.99999…

vi 是 Unix 和 Linux 系统中常用的文本编辑器

vi是 Unix 和 Linux 系统中常用的文本编辑器&#xff0c;它有几种不同的模式&#xff0c;其中最常用的是命令模式和插入模式。光标控制主要在命令模式下进行&#xff0c;以下是一些常用的vi命令来控制光标位置&#xff1a; • h,j,k,l&#xff1a;分别用于将光标向左、向下、向…