鸿蒙 Ark Ui UIAbility组件生命周期

团队介绍

作者:徐庆

团队:坚果派 公众号:"大前端之旅" 润开鸿生态技术专家,华为HDE,CSDN博客专家,CSDN超级个体,CSDN特邀嘉宾,InfoQ签约作者,OpenHarmony布道师,电子发烧友专家博客,51CTO博客专家,擅长HarmonyOS/OpenHarmony应用开发、熟悉服务卡片开发。欢迎合作。

前言:

各位同学有段时间没有见面 因为一直很忙所以就没有去更新博客。最近有在学习这个鸿蒙的ark ui开发 因为鸿蒙不是发布了一个鸿蒙next的测试版本 明年会启动纯血鸿蒙应用 所以我就想提前给大家写一些博客文章 今天要讲的是生命周期:

效果图 :

我们写了一个简单的demo 然后我在各个生命周期里面去打印日志

less 复制代码
import Logger from './Logger';

@Entry
@Component
struct Index {
  @Styles
  customMargin() {
    .margin({ left: 20, right: 20 })
  }
  @State message: string = 'Hello World'
  private controller: VideoController = new VideoController();
  build() {

    Row() {
      Column() {
        Video({
          // src: 'https://v.youku.com/v_show/id_XNTQwMTgxMTE2.html?tpa=dW5pb25faWQ9MTAzMDkzXzEwMDAwMV8wMV8wMQ&refer=sousuotoufang_market.qrwang_00002943_000000_qUv2En_19031900',
          src: $rawfile('video1.mp4'),
          previewUri: $r('app.media.image3'),
          controller: this.controller
        })
          .muted(false) //是否静音。默认值:false
          .controls(true)//不显示控制栏
          .autoPlay(false) // 手动点击播放
          .loop(false) // 关闭循环播放
          .objectFit(ImageFit.Cover) //设置视频显示模式。默认值:Cover
          .customMargin()// 样式
          .height(200) // 高度
      }
      .width('100%')
    }
    .height('100%')


  }


  aboutToAppear(){

    Logger.error("Videodemo --> aboutToAppear")

  }

  onPageShow?(){

    Logger.error("Videodemo --> onPageShow")

  }


  aboutToDisappear?(){
    Logger.error("Videodemo --> aboutToDisappear")

  }

  onPageHide?(){

    Logger.error("Videodemo --> onPageHide")
  }


  onBackPress?(){
    Logger.error("Videodemo --> onBackPress")

  }


}

查看日志 我们启动应用

首先会执行我们的 aboutToAppear 方法和 onPageShow

我们按home去到后台

这时候会执行我们的 onPageHide 方法 隐藏就是不可见 (类似安卓里面失去焦点 )

我们再次启动应用

这时候我们发现执行了 onPageShow 方法 我们又可以看到前台应用的界面 但是并没有执行 aboutToAppear 这里的aboutToAppear 在一个完整的生命周期只会执行一次

我们 再继续点击返回键退出应用

一共会执行我们 onBackPress 返回方法 onPageHide 隐藏生命周期方法 aboutToDisappear 销毁生命周期方法

我们打开界面 然后直接多任务杀死进程

如果我们按了多任务键 直接杀死进程 就会直接执行 aboutToDisappear 方法 而不是 依次执行 onBackPress onPageHide aboutToDisappear

整体流程

home键去到后台

点击返回键退出应用

点击多任务键杀死进程

最后总结 :

这个简单主要分析Ark ui 里面视图的生命周期 我们可以在适当回调方法里面去操作我们的逻辑 来实现对应需求 可以类比安卓activity 和iOS viewcontroller 去理解更好接受一点 今天就讲到这里 现在篇幅有限就不展开讲了 有兴趣的同学可以把代码下载出来再研究 最后呢 希望我都文章能帮助到各位同学工作和学习 如果你觉得文章还不错麻烦给我三连 关注点赞和转发 谢谢

相关推荐
zhanshuo6 小时前
HarmonyOS 实战:学会在鸿蒙中使用第三方 JavaScript 库(附完整 Demo)
harmonyos
zhanshuo6 小时前
鸿蒙应用权限处理全攻略:从配置到相机拍照,一篇文章讲透
harmonyos
AlbertZein8 小时前
HarmonyOS5 凭什么学鸿蒙—— GetContext
架构·harmonyos
森之鸟11 小时前
flutter项目适配鸿蒙
flutter·华为·harmonyos
奶糖不太甜13 小时前
鸿蒙图片资源加载全攻略:从基础到性能优化
harmonyos·图片资源
小小小小小星13 小时前
鸿蒙多端适配开发指南:从入门到实战
harmonyos
鸿蒙小灰13 小时前
鸿蒙开发之仿抖音APP教程:方法论与技术探索
harmonyos
CC__xy13 小时前
04 类型别名type + 检测数据类型(typeof+instanceof) + 空安全+剩余和展开(运算符 ...)简单类型和复杂类型 + 模块化
开发语言·javascript·harmonyos·鸿蒙
鸿蒙先行者13 小时前
鸿蒙开发ArkUI框架布局与适配难题丛生之响应式布局实现艰难
harmonyos·arkui
ajassi200014 小时前
开源 Arkts 鸿蒙应用 开发(十七)通讯--http多文件下载
华为·开源·harmonyos