生命周期

UIAbility

1不同设备终端协同,系统调度基本单元 2支持窗口切换,如主页、支付窗口 3 4UI界面组件,用于和用户交互,提供页面和组件渲染窗口 51个UIAbility,可以包含多个页面,页面分类管理 6 7每个UIAbility的组件实例,对应1个最近任务列表中的任务
不同设备终端协同,系统调度基本单元 支持窗口切换,如主页、支付窗口 UI界面组件,用于和用户交互,提供页面和组件渲染窗口 1个UIAbility,可以包含多个页面,页面分类管理 每个UIAbility的组件实例,对应1个最近任务列表中的任务

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"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的生命周期

1UIAbility Start 2Create 3Foreground 4Background 5Destroy 6UIAbility End
UIAbility Start Create Foreground Background Destroy UIAbility End

启动顺序

1onCreate // 应用初始化加载,代表应用正在启动,接受外部传递参数 2onWindowStageCreate // 应用启动时必须创建1个窗口对象,用于加载页面内容,执行数据库初始化、全局内容AppStorage存储 3onForeground // 应用切换到前台,显示界面 4// 关闭应用 5onBackground // 应用切换到后台,退出界面 6onWindowStageDestroy // 应用退出,执行窗口销毁 7onDestroy // 应用销毁
onCreate // 应用初始化加载,代表应用正在启动,接受外部传递参数 onWindowStageCreate // 应用启动时必须创建1个窗口对象,用于加载页面内容,执行数据库初始化、全局内容AppStorage存储 onForeground // 应用切换到前台,显示界面 // 关闭应用 onBackground // 应用切换到后台,退出界面 onWindowStageDestroy // 应用退出,执行窗口销毁 onDestroy // 应用销毁

hilog

官方日志组件,比较详细

Want

应用传参

页面生命周期

用于@Entry修饰的页面

 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') }

组件生命周期

 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@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') } } }

1aboutToAppear AbilityTest // 加载、跳转执行 2aboutToAppear Child // 加载、跳转执行 3 4onPageShow 5 6aboutToDisappear AbilityTest // 退出、返回执行 7aboutToDisappear Child // 退出、返回执行
aboutToAppear AbilityTest // 加载、跳转执行 aboutToAppear Child // 加载、跳转执行 onPageShow aboutToDisappear AbilityTest // 退出、返回执行 aboutToDisappear Child // 退出、返回执行

Powered By 可尔物语

浙ICP备11005866号-12