【鸿蒙 HarmonyOS】Ability 简介 ( 简介 | 创建应用 | Page Ability 生命周期 )
参考文档 :
一、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 状态 ;
文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。
原文链接:hanshuliang.blog.csdn.net/article/details/111414846
- 点赞
- 收藏
- 关注作者
评论(0)