鸿蒙 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 去理解更好接受一点 今天就讲到这里 现在篇幅有限就不展开讲了 有兴趣的同学可以把代码下载出来再研究 最后呢 希望我都文章能帮助到各位同学工作和学习 如果你觉得文章还不错麻烦给我三连 关注点赞和转发 谢谢

相关推荐
安卓开发者2 小时前
鸿蒙Next Test Kit:一站式自动化测试框架详解
华为·harmonyos
weixin_404611342 小时前
鸿蒙flutter 老项目到新项目的遇到迁移坑点
flutter·华为·harmonyos
li理5 小时前
使用AVPlayer在HarmonyOS中实现视频播放(ArkTS)
harmonyos
li理5 小时前
鸿蒙AVPlayer视频播放全解析:从基础实现到高级应用
harmonyos
HarmonyOS_SDK7 小时前
数字商品服务助力开发者降本增效,加速数字商品商业变现
harmonyos
后端小张9 小时前
【鸿蒙开发手册】重生之我要学习鸿蒙HarmonyOS开发
开发语言·学习·华为·架构·harmonyos·鸿蒙·鸿蒙系统
猫林老师10 小时前
HarmonyOS测试与上架:单元测试、UI测试与App Gallery Connect发布实战
ui·单元测试·harmonyos
SWUT胖虎10 小时前
ArkTS 中@Extend 和@Styles 装饰器的用法和区别
harmonyos·arkts·鸿蒙·鸿蒙系统
猫林老师11 小时前
鸿蒙元服务开发:免安装的卡片式服务(Atomic Service)
华为·wpf·harmonyos
shr007_1 天前
flutter 鸿蒙
flutter·华为·harmonyos