HarmonyOS与AbilitySlice路由配置

上一章我有教到鸿蒙应用开发——Ability鸿蒙应用开发的基础知识,那么今天我们来讲一下AbilitySlice路由配置

AbilitySlice路由配置

虽然一个Page可以包含多个AbilitySlice,但是Page进入前台时界面默认只展示一个AbilitySlice。默认展示的AbilitySlice是通过setMainRoute()方法来指定的。

如果需要更改默认展示的AbilitySlice,可以通过addActionRoute()方法为此AbilitySlice配置一条路由规则。此时,当其他Page实例期望导航到此AbilitySlice时,可以在Intent中指定Action,详见不同Page间导航。

setMainRoute()方法与addActionRoute()方法的使用示例如下:点击这里查看获取更多关于Harmony开发系统资料 (qq.com)

addActionRoute()方法中使用的动作命名,需要在应用配置文件(config.json)中注册:

生命周期

系统管理或用户操作等行为均会引起Page实例在其生命周期的不同状态之间进行转换。Ability类提供的回调机制能够让Page及时感知外界变化,从而正确地应对状态变化(比如释放资源),这有助于提升应用的性能和稳健性。

Page生命周期回调

Page生命周期的不同状态转换及其对应的回调,如图1所示。

onStart()

当系统首次创建Page实例时,触发该回调。对于一个Page实例,该回调在其生命周期过程中仅触发一次,Page在该逻辑后将进入INACTIVE状态。开发者必须重写该方法,并在此配置默认展示的AbilitySlice。

onActive()

Page会在进入INACTIVE状态后来到前台,然后系统调用此回调。Page在此之后进入ACTIVE状态,该状态是应用与用户交互的状态。Page将保持在此状态,除非某类事件发生导致Page失去焦点,比如用户点击返回键或导航到其他Page。当此类事件发生时,会触发Page回到INACTIVE状态,系统将调用onInactive()回调。此后,Page可能重新回到ACTIVE状态,系统将再次调用onActive()回调。因此,开发者通常需要成对实现onActive()和onInactive(),并在onActive()中获取在onInactive()中被释放的资源。

onInactive()当Page失去焦点时,系统将调用此回调,此后Page进入INACTIVE状态。开发者可以在此回调中实现Page失去焦点时应表现的恰当行为。

onBackground()如果Page不再对用户可见,系统将调用此回调通知开发者用户进行相应的资源释放,此后Page进入BACKGROUND状态。开发者应该在此回调中释放Page不可见时无用的资源,或在此回调中执行较为耗时的状态保存操作。

针对重点功能或场景的开发者教程如下表所示。点击这里查看获取更多关于Harmony开发系统资料 (qq.com)

相关推荐

  1. vue 项目axios全局配置模式配置

    2023-12-06 07:00:03       61 阅读
  2. flutter 配置

    2023-12-06 07:00:03       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-06 07:00:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-06 07:00:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-06 07:00:03       82 阅读
  4. Python语言-面向对象

    2023-12-06 07:00:03       91 阅读

热门阅读

  1. 企业中 Docker 的 Swarm 使用及作用详解

    2023-12-06 07:00:03       47 阅读
  2. flask-sqlalchemy的配置、字段说明

    2023-12-06 07:00:03       63 阅读
  3. AIGC: 关于ChatGPT中token和tiktoken工具

    2023-12-06 07:00:03       107 阅读
  4. Hive的安装配置、初始化元数据、启动

    2023-12-06 07:00:03       49 阅读
  5. net6中使用MongoDB

    2023-12-06 07:00:03       73 阅读
  6. 【云备份】第三方库

    2023-12-06 07:00:03       57 阅读
  7. el-from表单实现lable字体大小改变

    2023-12-06 07:00:03       51 阅读
  8. Unix Network Programming Episode 82

    2023-12-06 07:00:03       57 阅读
  9. Unix Network Programming Episode 83

    2023-12-06 07:00:03       59 阅读
  10. 西南科技大学C++程序设计实验四(类与对象三)

    2023-12-06 07:00:03       59 阅读