鴻蒙OS Ability LifecycleObserver

2020-10-28 15:34 更新

觀察并響應生命周期更改。

Lifecycle將生命周期事件調(diào)度到已注冊的LifecycleObserver。然后,LifecycleObserver為AbilityAbilitySlice實現(xiàn)生命周期回調(diào)。這使您的應用程序具有解耦的架構,其中AbilityAbilitySlice僅承擔單個責任。

您應該繼承LifecycleObserver類,根據(jù)需要重寫生命周期回調(diào)方法,然后調(diào)用Lifecycle#addObserver(ILifecycleObserver)向Lifecycle注冊LifecycleObserver。LifecycleObserver中的回調(diào)方法提供的功能與AbilityAbilitySlice的提供的功能相同,但是它們的調(diào)用順序不同。系統(tǒng)首先在AbilityAbilitySlice中調(diào)用,然后在LifecycleObserver中調(diào)用。當您的應用程序很復雜時,建議您將LifecycleObserver用于AbilityAbilitySlice的生命周期回調(diào)。

以來:

1個

也可以看看:

Lifecycle, ILifecycleObserver, LifecycleStateObserver

構造器摘要

建設者 描述
LifecycleObserver()

方法總結(jié)

修飾符和類型 方法 描述
void onActive() 響應ON_ACTIVE事件而回調(diào)。
void onBackground() 回調(diào)以響應ON_BACKGROUND事件。
void onForeground(Intent意圖) 響應ON_FOREGROUND事件而被回調(diào),其中intent參數(shù)中包含有關能力或能力切片返回到ACTIVE狀態(tài)的信息。
void onInactive() 回調(diào)以響應ON_INACTIVE事件。
void onStart(Intentintent) 響應ON_START事件而回調(diào),其中啟動信息包含在intent參數(shù)中。
void onStop() 響應ON_STOP事件而回調(diào)。

從類 java.lang 繼承的方法。object
clone,equalsfinalize,getClass,hashCodenotify,notifyAll,toStringwait,wait,wait

構造器詳細信息

生命周期觀察者

公共LifecycleObserver()

方法細節(jié)

onStart

public void onStart(Intent意圖)

響應ON_START事件而回調(diào),其中啟動信息包含在intent參數(shù)中。

此方法將初始化AbilityAbilitySlice,并且在整個生命周期中僅被調(diào)用一次。建議您使用此方法實現(xiàn)一些初始化邏輯,例如,可以初始化計時器或定義一些全局對象。

參數(shù):

參數(shù)名稱 參數(shù)說明
意圖 指示啟動信息。

也可以看看:

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

onInactive

public void onInactive()

回調(diào)以響應ON_INACTIVE事件。

接收到ON_INACTIVE事件時,能力或能力切片處于INACTIVE狀態(tài)。不活動是狀態(tài)變?yōu)榛顒踊虮尘爸暗闹虚g狀態(tài)。在這種狀態(tài)下,UI可能是可見的,但不是交互式的。建議您不要使用此方法來調(diào)用復雜的服務邏輯。

也可以看看:

Ability.onInactive(),AbilitySlice.onInactive()

onActive

公共無效onActive()

響應ON_ACTIVE事件而回調(diào)。

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

也可以看看:

Ability.onActive()AbilitySlice.onActive()

onBackground

onBackground公共無效

回調(diào)以響應ON_BACKGROUND事件。

接收到ON_BACKGROUND事件時,該能力或能力切片是不可見的。建議您暫停與此功能或功能切片相關的線程,并清除資源以獲取更多系統(tǒng)內(nèi)存。

也可以看看:

Ability.onBackground(),AbilitySlice.onBackground()

onForeground

onForeground上的公共無效空間(Intent intent)

響應ON_FOREGROUND事件而被回調(diào),其中intent參數(shù)中包含有關能力或能力切片返回到ACTIVE狀態(tài)的信息。

接收到ON_FOREGROUND事件時,能力或能力切片將返回到前臺。您可以使用此方法來實現(xiàn)重新初始化或通過使用intent參數(shù)來調(diào)整UI顯示。

參數(shù):

參數(shù)名稱 參數(shù)說明
意圖 指示能力或能力切片返回到活動狀態(tài)的信息。

也可以看看:

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

onStop

onStop公共無效()

響應ON_STOP事件而回調(diào)。

當能力或能力切片的生命周期被破壞時,將調(diào)用此方法。您可以使用此方法回收資源。

也可以看看:

Ability.onStop()AbilitySlice.onStop()

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號