关于鸿蒙Ability的先容

打印 上一主题 下一主题

主题 503|帖子 503|积分 1509

与 Android Activity相比,Activity 是 Android 应用的四大组件之一, 它提供一个窗口用于应用在此中绘制界面,用户可以在界面上完成交互动作。
HarmonyOS Ability 是应用所具备能力的抽象。Ability 的中文含义即能力,代表了 HarmonyOS 工程中最重要最核心的功能,也是应用步调的原子化基础组件。一个HarmonyOS应用可以包含多个Ability, Ability可以分为:


  • Feature Ability(简称FA),有界面,也被称为元步调
  • Particle Ability(FA 雷同于 Android 的 Activity ;PA 雷同于 Android 的Services简称PA),无界面,也被称为元服务
  • 而 FA 支持 Page Ability,代表了 UI 的能力:
  • Page 模板是FA唯一支持的模板,用于提供与用户交互的能力。一个Page实例可以包含一组相关页面,每个页面用一个AbilitySlice实例表示。
  • 而 PA 支持 Service Ability 和 Data Ability:
  • Service 模板:用于提供后台运行使命的能力,提供应用服务,比方播放音乐等。
  • Data 模板:用于对外部提供统一的数据访问抽象,提供了统一的数据访问接口,方便 FA 的统一调用,比方对当地文件的读取。
  • 利用 Ability 时必须在配置文件 config.json 中注册该 Ability ,设置相应的属性,该文件存储在每个应用步调的 Java 代码的根目次中。
    在Java中,Ability是一个类。事实上,鸿蒙应用步调的开辟就是对Ability举行继承并举行应用扩展。全部的应用步调的功能最终必须要体现在开辟者所创建的Ability的子类中
  • Page Ability

    Page Ability 是 Feature Ability 唯一支持的模板。用于提供与用户的交互能力,其实就是页面的父级。一个 Page 可以由一个或多个 AbilitySlice 构成,AbilitySlice 是指应用的单个页面及其控制逻辑的总和。官方认为当一个 Page 由多个 AbilitySlice 共同构成时,这些 AbilitySlice 页面提供的业务能力应具有高度相关性。
Ability的生命周期:


  • Create(创建)




    • 当Ability实例初次被创建时触发。
    • 在这个阶段,通常会执行初始化操作,如变量定义、资源加载等,为后续的UI界面展示做预备。


  • WindowStageCreate(窗口阶段创建)




    • Ability实例创建完成后,在进入前台之前,系统会创建一个WindowStage。
    • WindowStage创建完成后,会进入此回调。可以在此回调中设置UI界面加载、设置WindowStage的变乱订阅等。


  • Foreground(前台)




    • 当Ability的UI界面可见时触发,如Ability切换至前台。
    • 在此回调中,可以执行一些与前台显示相关的操作,如申请系统资源、重新申请在后台释放的资源等。


  • Background(后台)




    • 当Ability的UI界面完全不可见时触发,如Ability切换至后台。
    • 在此回调中,可以执行一些与后台运行相关的操作,如释放UI界面不可见时无用的资源、执行较为耗时的操作(如状态保存)等。


  • WindowStageDestroy(窗口阶段烧毁)




    • 在Ability实例烧毁之前,会先进入此回调。
    • 可以在此回调中释放与UI相关的资源,如注销WindowStage的变乱订阅等。


  • Destroy(烧毁)




    • 当Ability实例被烧毁时触发。
    • 在这个阶段,通常会执行一些清算操作,如释放资源等。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

灌篮少年

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表