生命周期

2024-02-28  本文已影响0人  家乡的蝈蝈

1.1 组件的生命周期

自定义组件和页面的区别:
● 自定义组件:@Component装饰的UI单元,可以组合多个系统组件实现UI的复用。
● 页面:即应用的UI页面。可以由一个或者多个自定义组件组成,@Entry装饰的自定义组件为页面的入口组件,即页面的根节点,一个页面有且仅能有一个@Entry。只有被@Entry装饰的组件才可以调用页面的生命周期。

1.1.1页面生命周期

  即被@Entry装饰的组件生命周期,提供以下生命周期接口:

1.1.2 自定义组件生命周期

  即一般用@Component装饰的自定义组件的生命周期,提供以下生命周期接口:

aboutToAppear() { // 页面只会执行一次
    console.log("页面初始化")
  }
  onPageShow() {
    console.log("页面显示")
  }
  onPageHide() {
    console.log("页面隐藏")
  }
  aboutToDisAppear() {
    // 清理定时器
    console.log("页面销毁")
  }
  onBackPress() {
    console.log("后退键")
  }

  因为@Entry 也是@Component组件,所以页面组件同时拥有自定义组件的生命周期


.png

结论:

1.2 UIAbility生命周期

  UIAbility类似iOS的UIWindow。
  UIAbility相当于我们应用中的一个任务,我们可以把自己的app想象成一个UIAbility,但是当项目越来越大,需要扩展和分担业务的时候,可以采取多个。
  UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态,如下图所示。



● onCreate
Ability创建时回调,执行初始化业务逻辑操作。
● onDestory
Ability生命周期回调,在销毁时回调,执行资源清理等操作。
● onWindowStageCreate
当WindowStage创建后调用。
● onWindowStageDestory
当WindowStage销毁后调用。
● onForeground
Ability生命周期回调,当应用从后台转到前台时触发。
● onBackground

Ability生命周期回调,当应用从前台转到后台时触发
上一篇 下一篇

猜你喜欢

热点阅读