文章目录
一、Ability 简介二、创建应用三、Page Ability 生命周期参考文档 :
Page Ability 基本概念Page Ability 声明周期AbilitySlice 间导航跨设备迁移一、Ability 简介
Ability 是应用能力抽象 , 是应用组件 , Ability 分为两种 : ① Feature Ability ( FA ) : 用户交互界面 , 每个界面都有一个 AbilitySlice 作为界面布局 ; Feature Ability ( FA ) 相当于 Android 中的 Activity , AbilitySlice 相当于 Android 中的 Layout 布局 ; ② Atomic Ability ( AA ) : 支持 Service 模板 和 Data 模板 ; Service 模板没有 UI 界面 , 是一个后台服务 ; Data 模板提供数据访问抽象 ; Ability 一定程度上相当于 Android 中的 Activity , Service , ContentProvider 组件 ; 二、创建应用 参考上一篇博客 【鸿蒙 HarmonyOS】创建 Java 语言 HarmonyOS 手机应用 ( 首次进入 DevEco Studio 配置环境 | 创建 Java 手机工程 | 鸿蒙工程代码目录简介 ) 创建的鸿蒙工程应用 ; 创建 手机 ( Phone ) Java 应用 Empty Feature Ability ( Java ) ; 配置工程名称 , 包名 , 代码位置 , API 版本 ; 上传到 GitHub ; 选择 菜单栏 / VCS / Import into Version Control / Share Project on GitHub ; 设置仓库名称 ; 选择上传的代码 ; GitHub 地址 : https://github.com/han1202012/HarmonyHelloWorld 相关的程序入口及配置文件说明参考 【鸿蒙 HarmonyOS】创建 Java 语言 HarmonyOS 手机应用 ( 首次进入 DevEco Studio 配置环境 | 创建 Java 手机工程 | 鸿蒙工程代码目录简介 ) ; 三、Page Ability 生命周期 主要脉络 : 首先初始化 Ability , 初始化完毕后状态是 INITIAL 状态 初始化完成后 , 会调用 onStart() 方法 , 初始化 UI 界面中使用到的控件 和 变量 , 执行完毕后状态变为 INACTIVE 状态 快要显示时 , 会调用 onActive() 方法 , 状态变为 ACTIVE 状态 如果由于某些原因 , 该 Page Ability 失去焦点 , 进入后台 , 如弹出对话框 , 另一个 Page Ability 前台显示 , 会回调 onInactive() 方法 , 状态变为 INACTIVE 状态 窗口彻底不显示 , 但是还处于后台状态 , 会回调 onBackground() 方法 , 状态变为 BACKGROUND 状态 特殊情况 : 如果当前处于 INACTIVE 状态 , 用户返回 Page Ability , 则回调 onActive() 方法 , 进入 ACTIVE 状态 ; 如果当前的 Page Ability 处于 BACKGROUND 状态 , 当用户从后台返回前台时 , 会回调 onForeground() 方法 , 状态变为 INACTIVE 状态 ; 如果当前的 Page Ability 处于 BACKGROUND 状态 , 当该 Ability 彻底销毁 , 正在结束 , 因内存不足终止 , 用户重新进入该界面 时 , 会回调 onStop() 方法 , 状态变为 INITIAL 状态 ; 免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。