HarmonyOS 鸿蒙Next Lifecycles

HarmonyOS 鸿蒙Next Lifecycles

Lifecycles

在非Activity的类中感知Activity的生命周期,可以通过手写监听器,重写Activity相应的生命周期方法,但是比较麻烦

1.新建MyObserver类继承于LifecycleObserve

class MyObserver:LifecycleObserver {
    @OnLifecycleEvent((Lifecycle.Event.ON_START))//对应七个生命周期,还有ON_ANY对应任意生命周期回调
    
    fun activityStart(){
        Log.d("MyObserver","activityStart")
    }
    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    fun activityStop(){
        Log.d("MyObserver","activityStop")
    }
}

2.在MyObserver用注解+定义方法感知生命周期

3.在活动中为生命周期添加观察者

lifecycle.addObserver(MyObserver())

更多关于HarmonyOS 鸿蒙Next Lifecycles的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

鸿蒙Next的Lifecycles

鸿蒙Next的Lifecycles是用于管理组件生命周期的关键机制。它提供了AbilityLifecycle、WindowLifecycle等具体实现,通过观察者模式监听生命周期状态变化。开发者可通过实现ILifecycleObserver接口来响应生命周期事件,如onCreate、onForeground、onBackground、onDestroy等。LifecycleOwner作为生命周期持有者,提供getLifecycle()方法获取Lifecycle对象。系统会自动管理生命周期的触发时机,确保组件状态与系统行为同步。该机制适用于FA和PA的开发场景。

更多关于HarmonyOS 鸿蒙Next Lifecycles的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,生命周期管理采用了更简洁的API设计。对于非Ability类监听生命周期,可以使用类似但更简洁的方式:

  1. 创建观察者类:
class MyLifecycleObserver : LifecycleObserver {
    fun onStart() {
        // 处理Ability启动逻辑
    }

    fun onStop() {
        // 处理Ability停止逻辑
    }
}
  1. 注册观察者:
lifecycle.addObserver(MyLifecycleObserver())

HarmonyOS Next的生命周期事件包括:

  • ON_CREATE
  • ON_START
  • ON_RESUME
  • ON_PAUSE
  • ON_STOP
  • ON_DESTROY

相比传统方式,HarmonyOS Next的生命周期管理API更加简洁,去除了注解方式,直接使用方法名匹配。这种设计减少了样板代码,提高了可读性。

回到顶部