鸿蒙 Ark Ui UIAbility组件生命周期

前言:

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

效果图 :

鸿蒙 Ark Ui UIAbility组件生命周期_第1张图片

鸿蒙 Ark Ui UIAbility组件生命周期_第2张图片

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


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")

  }


}

查看日志 我们启动应用

鸿蒙 Ark Ui UIAbility组件生命周期_第3张图片

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

我们按home去到后台

鸿蒙 Ark Ui UIAbility组件生命周期_第4张图片

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

我们再次启动应用

鸿蒙 Ark Ui UIAbility组件生命周期_第5张图片

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

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

鸿蒙 Ark Ui UIAbility组件生命周期_第6张图片

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

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

鸿蒙 Ark Ui UIAbility组件生命周期_第7张图片

鸿蒙 Ark Ui UIAbility组件生命周期_第8张图片

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

整体流程

  • home键去到后台

鸿蒙 Ark Ui UIAbility组件生命周期_第9张图片

  • 点击返回键退出应用

鸿蒙 Ark Ui UIAbility组件生命周期_第10张图片

  • 点击多任务键杀死进程

鸿蒙 Ark Ui UIAbility组件生命周期_第11张图片

最后总结 :

这个简单主要分析Ark ui 里面视图的生命周期 我们可以在适当回调方法里面去操作我们的逻辑 来实现对应需求 可以类比安卓activity 和iOS viewcontroller 去理解更好接受一点

为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术,这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙 (Harmony OS)开发学习手册》

入门必看:https://qr21.cn/FV7h05

  1. 应用开发导读(ArkTS)
  2. ……

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门?:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. 构建第一个JS应用
  4. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16.……

你可能感兴趣的:(OpenHarmony,鸿蒙,移动开发,harmonyos,ui,华为,移动开发,鸿蒙开发)