UIAbility:一种包含用户界面的应用组件,用于和用户进行交互
UIAbility是系统调度的单元,提供窗口用于界面绘制
1、页面入口组件的页面周期函数
(1)onPageShow()
页面显示时触发调用
(2)onBackPress()
页面返回时调用,返回值boolean类型
(3)onPageHide()
页面消失进入后台时调用
2、UIAbility页面跳转及数据传递
(1)页面跳转
导入router路由模块:import router from '@ohos.router';
在操作函数中调用router的pushUrl方法进行页面跳转:
router.pushUrl({
url : "pages/Second"
})
(2)参数传递
跳转发送
router.pushUrl({
url : "pages/Second",
params: {
src: msg
}
})
参数接收
import router from "@ohos.router";
@State src: string = router.getParams()['src'];
(3)页面返回
router.back()
3、UIAbility生命周期
(1)进入应用程序的方式
桌面点击图标进入:状态转换(创建->前台展示)
最近任务列表进入:状态转换(后台->前台展示)
(2)生命周期描述
Create
/*
- 应用加载中
- UIAbility实例创建完成时触发
- 该回调函数中可以进行应用的初始化操作(变量定义、资源加载)
- */
WindowStageCreate
/*
- 进入前台前,系统会创建WindowStage
- 创建完成后,自动进入OnWindowStageCreate回调
- 可以设置页面加载,windowStage.loadContent(url,(err.data)=>{})
- 并设置windowStage的事件订阅(获取焦点、失去焦点、可见、不可见)
- */
Foreground
/*
- 切换回前台触发
- 可以申请被释放的资源
- */
Background
/*
- 切换回后台触发
- */
WindowStageDestroy
/*
- UIAbility实例销毁之前,系统会进入onWindowStageDestory回调
- 可以释放资源(注销订阅的事件)
- */
Destroy
/*
- UIAbility实例销毁时触发
- 可以进行系统资源释放,数据保存
- */