美文网首页
生命周期

生命周期

作者: 家乡的蝈蝈 | 来源:发表于2024-02-28 11:22 被阅读0次

    1.1 组件的生命周期

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

    1.1.1页面生命周期

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

    • onPageShow:页面每次显示时触发。
    • onPageHide:页面每次隐藏时触发一次。
    • onBackPress:当用户点击返回按钮时触发。

    1.1.2 自定义组件生命周期

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

    • aboutToAppear:组件即将出现时回调该接口,具体时机为在创建自定义组件的新实例后,在执行其build()函数之前执行。
    • aboutToDisappear:在自定义组件即将析构销毁时执行。
    aboutToAppear() { // 页面只会执行一次
        console.log("页面初始化")
      }
      onPageShow() {
        console.log("页面显示")
      }
      onPageHide() {
        console.log("页面隐藏")
      }
      aboutToDisAppear() {
        // 清理定时器
        console.log("页面销毁")
      }
      onBackPress() {
        console.log("后退键")
      }
    

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


    .png

    结论:

    • 带@Entry的页面组件 拥有页面进入,页面销毁,页面显示,页面隐藏, 页面返回的生命周期
    • @Component自定义组件 拥有 组件进入、组件销毁生命周期

    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生命周期回调,当应用从前台转到后台时触发

    相关文章

      网友评论

          本文标题:生命周期

          本文链接:https://www.haomeiwen.com/subject/dqgtzdtx.html