生命周期 - 比特日记
生命周期
UIAbility
复制成功
1
2
3
4
5
6
7
1不同设备终端协同,系统调度基本单元
2支持窗口切换,如主页、支付窗口
3
4UI界面组件,用于和用户交互,提供页面和组件渲染窗口
51个UIAbility,可以包含多个页面,页面分类管理
6
7每个UIAbility的组件实例,对应1个最近任务列表中的任务
不同设备终端协同,系统调度基本单元
支持窗口切换,如主页、支付窗口
UI界面组件,用于和用户交互,提供页面和组件渲染窗口
1个UIAbility,可以包含多个页面,页面分类管理
每个UIAbility的组件实例,对应1个最近任务列表中的任务
复制成功
1
2
3
4
5
6
1应用程序比UIAbility概念更大,一个应用程序可能包含多个UIAbility
21个UIAbility形成1个窗口,窗口之间互相通信
3打开应用,启动UIAbility实例
4
5项目创建成功,默认创建1个UIAbility
6核心配置文件:module.json5
应用程序比UIAbility概念更大,一个应用程序可能包含多个UIAbility
1个UIAbility形成1个窗口,窗口之间互相通信
打开应用,启动UIAbility实例
项目创建成功,默认创建1个UIAbility
核心配置文件:module.json5
module.json5
复制成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1"abilities": [
2 {
3 "name": "EntryAbility",
4 "srcEntry": "./ets/entryability/EntryAbility.ets",
5 "description": "$string:EntryAbility_desc",
6 "icon": "$media:layered_image",
7 "label": "$string:EntryAbility_label",
8 "startWindowIcon": "$media:startIcon",
9 "startWindowBackground": "$color:start_window_background",
10 "exported": true,
11 "skills": [
12 {
13 "entities": [
14 "entity.system.home"
15 ],
16 "actions": [
17 "action.system.home"
18 ]
19 }
20 ]
21 }
22]
"abilities": [
{
"name": "EntryAbility",
"srcEntry": "./ets/entryability/EntryAbility.ets",
"description": "$string:EntryAbility_desc",
"icon": "$media:layered_image",
"label": "$string:EntryAbility_label",
"startWindowIcon": "$media:startIcon",
"startWindowBackground": "$color:start_window_background",
"exported": true,
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
]
}
]
生命周期
打开应用程序、创建窗口、切换应用前台或后台、关闭应用,要执行一系列函数,这些函数就是UIAbility的生命周期
复制成功
1
2
3
4
5
6
1UIAbility Start
2Create
3Foreground
4Background
5Destroy
6UIAbility End
UIAbility Start
Create
Foreground
Background
Destroy
UIAbility End
启动顺序
复制成功
1
2
3
4
5
6
7
1onCreate // 应用初始化加载,代表应用正在启动,接受外部传递参数
2onWindowStageCreate // 应用启动时必须创建1个窗口对象,用于加载页面内容,执行数据库初始化、全局内容AppStorage存储
3onForeground // 应用切换到前台,显示界面
4// 关闭应用
5onBackground // 应用切换到后台,退出界面
6onWindowStageDestroy // 应用退出,执行窗口销毁
7onDestroy // 应用销毁
onCreate // 应用初始化加载,代表应用正在启动,接受外部传递参数
onWindowStageCreate // 应用启动时必须创建1个窗口对象,用于加载页面内容,执行数据库初始化、全局内容AppStorage存储
onForeground // 应用切换到前台,显示界面
// 关闭应用
onBackground // 应用切换到后台,退出界面
onWindowStageDestroy // 应用退出,执行窗口销毁
onDestroy // 应用销毁
hilog
官方日志组件,比较详细
Want
应用传参
页面生命周期
用于@Entry修饰的页面
复制成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1// 页面加载
2onPageShow(): void {
3 console.log('onPageShow')
4}
5
6// 页面隐藏
7onPageHide(): void {
8 console.log('onPageHide')
9}
10
11// 点击返回按钮
12onBackPress(): void {
13 console.log('onBackPress')
14}
// 页面加载
onPageShow(): void {
console.log('onPageShow')
}
// 页面隐藏
onPageHide(): void {
console.log('onPageHide')
}
// 点击返回按钮
onBackPress(): void {
console.log('onBackPress')
}
组件生命周期
复制成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1onPageShow(): void {
2 console.log('onPageShow')
3}
4
5onPageHide(): void {
6 console.log('onPageHide')
7}
8
9onBackPress(): void {
10 console.log('onBackPress')
11}
12
13aboutToAppear(): void {
14 console.log('组件加载 AbilityTest')
15}
16
17aboutToDisappear(): void {
18 console.log('组件卸载 AbilityTest')
19}
onPageShow(): void {
console.log('onPageShow')
}
onPageHide(): void {
console.log('onPageHide')
}
onBackPress(): void {
console.log('onBackPress')
}
aboutToAppear(): void {
console.log('组件加载 AbilityTest')
}
aboutToDisappear(): void {
console.log('组件卸载 AbilityTest')
}
复制成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1@Component
2export struct Child {
3 aboutToAppear(): void {
4 console.log('组件加载 Child')
5 }
6
7 aboutToDisappear(): void {
8 console.log('组件卸载 Child')
9 }
10
11 build() {
12 Column() {
13 Text('Child')
14 }
15 }
16}
@Component
export struct Child {
aboutToAppear(): void {
console.log('组件加载 Child')
}
aboutToDisappear(): void {
console.log('组件卸载 Child')
}
build() {
Column() {
Text('Child')
}
}
}
复制成功
1
2
3
4
5
6
7
1aboutToAppear AbilityTest // 加载、跳转执行
2aboutToAppear Child // 加载、跳转执行
3
4onPageShow
5
6aboutToDisappear AbilityTest // 退出、返回执行
7aboutToDisappear Child // 退出、返回执行
aboutToAppear AbilityTest // 加载、跳转执行
aboutToAppear Child // 加载、跳转执行
onPageShow
aboutToDisappear AbilityTest // 退出、返回执行
aboutToDisappear Child // 退出、返回执行
Copyright ©2010-2022 比特日记 All Rights Reserved.
Powered By 可尔物语
浙ICP备11005866号-12