鸿蒙OS开发文档 鸿蒙OS Ability LifecycleObserver

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 3

观察并响应生命周期更改。

Lifecycle将生命周期事件调度到已注册的LifecycleObserver。然后,LifecycleObserver为Ability或AbilitySlice实现生命周期回调。这使您的应用程序具有解耦的架构,其中Ability或AbilitySlice仅承担单个责任。

您应该继承LifecycleObserver类,根据需要重写生命周期回调方法,然后调用Lifecycle#addObserver(ILifecycleObserver)向Lifecycle注册LifecycleObserver。LifecycleObserver中的回调方法提供的功能与Ability和AbilitySlice的提供的功能相同,但是它们的调用顺序不同。系统首先在Ability和AbilitySlice中调用,然后在LifecycleObserver中调用。当您的应用程序很复杂时,建议您将LifecycleObserver用于Ability和AbilitySlice的生命周期回调。

以来:

1个

也可以看看:

Lifecycle, ILifecycleObserver, LifecycleStateObserver

构造器摘要

建设者描述
LifecycleObserver()

方法总结

修饰符和类型方法描述
voidonActive()响应ON_ACTIVE事件而回调。
voidonBackground()回调以响应ON_BACKGROUND事件。
voidonForeground(Intent意图)响应ON_FOREGROUND事件而被回调,其中intent参数中包含有关能力或能力切片返回到ACTIVE状态的信息。
voidonInactive()回调以响应ON_INACTIVE事件。
voidonStart(Intentintent)响应ON_START事件而回调,其中启动信息包含在intent参数中。
voidonStop()响应ON_STOP事件而回调。
从类 java.lang 继承的方法。object
clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait,wait

构造器详细信息

生命周期观察者

公共LifecycleObserver()

方法细节

onStart

public void onStart(Intent意图)

响应ON_START事件而回调,其中启动信息包含在intent参数中。

此方法将初始化Ability或AbilitySlice,并且在整个生命周期中仅被调用一次。建议您使用此方法实现一些初始化逻辑,例如,可以初始化计时器或定义一些全局对象。

参数:

参数名称参数说明
意图指示启动信息。

也可以看看:

Ability.onStart(Intent),AbilitySlice.onStart(Intent)

onInactive

public void onInactive()

回调以响应ON_INACTIVE事件。

接收到ON_INACTIVE事件时,能力或能力切片处于INACTIVE状态。不活动是状态变为活动或背景之前的中间状态。在这种状态下,UI可能是可见的,但不是交互式的。建议您不要使用此方法来调用复杂的服务逻辑。

也可以看看:

Ability.onInactive(),AbilitySlice.onInactive()

onActive

公共无效onActive()

响应ON_ACTIVE事件而回调。

接收到ON_ACTIVE事件时,能力或能力切片位于前台并且是交互式的。

也可以看看:

Ability.onActive(),AbilitySlice.onActive()

onBackground

onBackground公共无效

回调以响应ON_BACKGROUND事件。

接收到ON_BACKGROUND事件时,该能力或能力切片是不可见的。建议您暂停与此功能或功能切片相关的线程,并清除资源以获取更多系统内存。

也可以看看:

Ability.onBackground(),AbilitySlice.onBackground()

onForeground

onForeground上的公共无效空间(Intent intent)

响应ON_FOREGROUND事件而被回调,其中intent参数中包含有关能力或能力切片返回到ACTIVE状态的信息。

接收到ON_FOREGROUND事件时,能力或能力切片将返回到前台。您可以使用此方法来实现重新初始化或通过使用intent参数来调整UI显示。

参数:

参数名称参数说明
意图指示能力或能力切片返回到活动状态的信息。

也可以看看:

Ability.onForeground(Intent),AbilitySlice.onForeground(Intent)

onStop

onStop公共无效()

响应ON_STOP事件而回调。

当能力或能力切片的生命周期被破坏时,将调用此方法。您可以使用此方法回收资源。

也可以看看:

Ability.onStop(),AbilitySlice.onStop()