美文网首页
AbilityStage组件容器简介

AbilityStage组件容器简介

作者: 海晨忆 | 来源:发表于2024-12-29 14:33 被阅读0次

AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。

AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。

DevEco Studio默认工程中未自动生成AbilityStage,如需要使用AbilityStage的能力,可以手动新建一个AbilityStage文件,具体步骤如下。

  1. 在工程Module对应的ets目录下,右键选择“New > Directory”,新建一个目录并命名为myabilitystage。
  2. 在myabilitystage目录,右键选择“New > ArkTS File”,新建一个文件并命名为MyAbilityStage.ets。
  3. 打开MyAbilityStage.ets文件,导入AbilityStage的依赖包,自定义类继承AbilityStage并加上需要的生命周期回调,示例中增加了一个onCreate()生命周期回调。
import { AbilityStage, Want } from '@kit.AbilityKit';

export default class MyAbilityStage extends AbilityStage {
  onCreate(): void {
    // 应用HAP首次加载时触发,可以在此执行该Module的初始化操作(例如资源预加载、线程创建等)。
  }

  onAcceptWant(want: Want): string {
    // 仅specified模式下触发
    return 'MyAbilityStage';
  }
}
  1. 在module.json5配置文件中,通过配置 srcEntry 参数来指定模块对应的代码路径,以作为HAP加载的入口。
{
  "module": {
    "name": "entry",
    "type": "entry",
    "srcEntry": "./ets/myabilitystage/MyAbilityStage.ets",
    // ...
  }
}

AbilityStage拥有onCreate()生命周期回调和onAcceptWant()、onConfigurationUpdated()、onMemoryLevel()事件回调。

  • onCreate()生命周期回调:在开始加载对应Module的第一个UIAbility实例之前会先创建AbilityStage,并在AbilityStage创建完成之后执行其onCreate()生命周期回调。AbilityStage模块提供在Module加载的时候,通知开发者,可以在此进行该Module的初始化(如资源预加载,线程创建等)能力。
  • onAcceptWant()事件回调:UIAbility指定实例模式(specified)启动时候触发的事件回调,具体使用请参见UIAbility启动模式综述。
  • onConfigurationUpdated()事件回调:当系统全局配置发生变更时触发的事件,系统语言、深浅色等,配置项目前均定义在Configuration类中。
  • onMemoryLevel()事件回调:当系统调整内存时触发的事件。

应用被切换到后台时,系统会将在后台的应用保留在缓存中。即使应用处于缓存中,也会影响系统整体性能。当系统资源不足时,系统会通过多种方式从应用中回收内存,必要时会完全停止应用,从而释放内存用于执行关键任务。为了进一步保持系统内存的平衡,避免系统停止用户的应用进程,可以在AbilityStage中的onMemoryLevel()生命周期回调中订阅系统内存的变化情况,释放不必要的资源。

import { AbilityStage, AbilityConstant } from '@kit.AbilityKit';

export default class MyAbilityStage extends AbilityStage {
  onMemoryLevel(level: AbilityConstant.MemoryLevel): void {
    // 根据系统可用内存的变化情况,释放不必要的内存
  }
}

相关文章

  • 记一次 react-redux 分享

    简介: React-Redux 将所有组件分成两大类:UI 组件(不带有任何业务逻辑)和容器组件(负责管理数据和业...

  • react-router

    安装 示例 容器组件 react-router的容器组件,就是最外层包括所有路由的组件,所有路由活动需要在容器组件...

  • ubuntu 16.04下安装kubernetes1.6(一)

    1 kubernetes 简介 kubernetes是提供了一套组件来管理容器的集群管理系统,kubernetes...

  • STL概论与版本简介

    1 STL概论与版本简介 1.1 STL概述 STL提供六大组件,彼此可以组合套用: 容器(Containers)...

  • 渐行渐远的Servlet

    Servlet简介 Servlet 是一种基于 Java 技术的 Web 组件,用于生成动态内容,由容器管理。类似...

  • 微信小程序(四)视图组件

    小程序组件 视图容器 (一) 视图容器 了解小程序组件中的视图容器 明确小程序组件中的视图容器的用途和方法 了解不...

  • 【学习笔记 】React ⑧ react-redux的使用

    UI组件、容器组件、无状态组件 在学习react-redux之前,需要了解UI组件、容器组件和无状态组件的知识。 ...

  • 07.Redux进阶(上)

    UI组件和容器组件 在这个例子中,我们想要分离UI组件和容器组件 无状态组件 因为上面TodoListUI这个组件...

  • 006Spring注解@Import

    1、简介 @Import快速给容器中导入一个组件。 2、基础类 3、@Import 3.1、取值 3.2、作用域 ...

  • Spring注解(@Import)

    @Import[快速给容器中导入一个组件]@Import(要导入到容器中的组件);容器中就会自动注册这个组件,id...

网友评论

      本文标题:AbilityStage组件容器简介

      本文链接:https://www.haomeiwen.com/subject/veeoejtx.html