鸿蒙UIAbility深入理解

1.基本概念
    1.UIAbility组件 一种包含UI的应用组件,主要用于和用户交互
    2.EntryAbility默认继承UIAbility
    3.ExtentionAbility组件 是基于特定场景如服务卡片、输入法等提供的应用组件。每一个应用。每一个具体场景对应一个ExtentionAbilityType,开发者只能使用系统已经定义的类型,右键即可new一个 
    4.HAP 是应用安装的基本单位
    5.AbilityStage:Module级别的组件容器,与HAP是一一对应的关系,可以管理UIAbility组件和ExtentionAbility组件
    5.可以通过不同的Context调用对应资源 

     6.应用组件和窗口生命周期分离
        业务逻辑和UI逻辑分离,例如数据库、蓝牙等等的连接都可以放在业务逻辑
        便于系统裁剪,没有屏幕的设备可以直接去掉windowstage
        在多设备上,应用组件可以使用一套生命周期

     7.单设备上,切换任务场景时,生命周期变化举例

2.AbilityStage组件容器
    1.是什么:Module级的组件容器,HAP的运行期类,最主要的能力就是初始化模块,以及对以指定实例模式启动的UIAbility组件进行匹配处理
    2.通过四个函数使用其能力
        1.onCreate AbilityStage实例创建完成后触发,模块初始化,资源加载,线程创建
        2.onAcceptWant  指定实例模式启动UIAbility组件时触发 ,可返回其唯一key值,用于给系统判断实例是否已经存在(在UIAbility组件的启动模式章节张详细讲解)
        3.onMemeoryLevel 系统调整内存时触发,可以在这里订阅内存的变化情况
        4.onConfigurationUpdate 系统全局配置发生变化时触发的函数,可以在此函数中接受到最新的配置信息,例如获取目前系统的颜色模式
    3.默认没有生成AbilityStage,需要手动创建
         1.新建目录,新建AbilityStage文件,本质是ets文件,继承AbilityStage
         2.配置HAP入口 在module.json5配置文件中,通过配置srcEntry参数来指定模块对应的代码路径,以作为HAP加载的入口

3.UIAbilit组件的启动模式
    单实例模式
    多实例模式
    指定实例模式

4.UIAbility组件间的交互

通过Want进行交互,本质就是数据容器,分显式Want启动 和 隐式Want启动、显式需要在调用方页面配置Want各个属性,在被调用方接受want对象,并获取属性值,隐式,同显式原理差不多,多了一些配置而已

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值