您的位置:首页 > 科技 > 能源 > 十大ps培训机构_网站推广软件下载安装免费_电商数据查询平台_网站安全检测平台

十大ps培训机构_网站推广软件下载安装免费_电商数据查询平台_网站安全检测平台

2024/12/23 9:46:48 来源:https://blog.csdn.net/gao_xin_xing/article/details/144281169  浏览:    关键词:十大ps培训机构_网站推广软件下载安装免费_电商数据查询平台_网站安全检测平台
十大ps培训机构_网站推广软件下载安装免费_电商数据查询平台_网站安全检测平台

【高心星出品】

文章目录

      • UIAbility跳转
        • 发起跳转
        • Ability的启动模式
          • singleton启动模式
          • multiton启动模式

UIAbility跳转

UIAbility是系统调度的最小单元。在设备内的功能模块之间跳转时,会涉及到启动特定的UIAbility,包括应用内的其他UIAbility、或者其他应用的UIAbility(例如启动三方支付UIAbility)。

发起跳转

以下的案例将要实现:EntryAbility加载的index页面中文本,点击之后跳转到EntryAbility1加载的index1页面中。

可以在后台看到两个任务窗口。

在这里插入图片描述

index页面代码

import { common, Want } from '@kit.AbilityKit';@Entry
@Component
struct Index {@State message: string = 'Hello World';private context:common.UIAbilityContext=getContext(this) as common.UIAbilityContextbuild() {RelativeContainer() {Text(this.message).id('HelloWorld').fontSize(50).fontWeight(FontWeight.Bold).alignRules({center: { anchor: '__container__', align: VerticalAlign.Center },middle: { anchor: '__container__', align: HorizontalAlign.Center }}).onClick(()=>{let want:Want={// 包名bundleName:'com.gxx.uiabilitydemo',// ability名字abilityName:'EntryAbility1',// 携带参数parameters:{name:'gxx'}}// 启动跳转this.context.startAbility(want)})}.height('100%').width('100%')}
}
Ability的启动模式

UIAbility的启动模式是指UIAbility实例在启动时的不同呈现状态。针对不同的业务场景,系统提供了三种启动模式:

  • singleton(单实例模式)
  • multiton(多实例模式)
  • specified(指定实例模式)

在这里我们只介绍前两种常用启动模式。

singleton启动模式

singleton启动模式为单实例模式,也是默认情况下的启动模式。

每次调用startAbility()方法时,如果应用进程中该类型的UIAbility实例已经存在,则复用系统中的UIAbility实例。系统中只存在唯一一个该UIAbility实例,即在最近任务列表中只存在一个该类型的UIAbility实例。

生命周期函数调用顺序:startAbility(EntryAbility)----》onNewWant()(EntryAbility1)不会执行oncrate。

在这里插入图片描述

需要在module.json5配置单例启动模式。

{"module": {// ..."abilities": [{"launchType": "singleton",// ...}]}
}
multiton启动模式

multiton启动模式为多实例模式,每次调用startAbility()方法时,都会在应用进程中创建一个新的该类型UIAbility实例。即在最近任务列表中可以看到有多个该类型的UIAbility实例。这种情况下可以将UIAbility配置为multiton(多实例模式)。

生命周期函数调用顺序:startAbility(EntryAbility)----》oncreate()(EntryAbility1)不会执行onNewWant()周期函数。

在这里插入图片描述

需要在module.json5配置多实例启动模式。

{"module": {// ..."abilities": [{"launchType": "multiton",// ...}]}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com