LifeCycle

簡(jiǎn)介

生命周期感知型組件:可以相應(yīng)另一個(gè)組件(Activity or Fragment)的生命周期變化弧烤。以便代碼更精簡(jiǎn)、易維護(hù)

作用

監(jiān)聽Activity 或 Fragment的生命周期變化

原理

觀察者模式波丰,在各個(gè)生命周期注冊(cè)相關(guān)回調(diào)壳坪,實(shí)現(xiàn)LifeCycleObsever 通過注釋的方式實(shí)現(xiàn)回調(diào)。

使用

角色

LifeCycleOwner 被觀察者(大部分時(shí)候是Actvity掰烟,F(xiàn)ragment)

AppCompatActivity與V4中的Fragment都已默認(rèn)實(shí)現(xiàn)了LifeCyclerOwner接口爽蝴,所以可以直接使用

LifeCycleObsever 觀察者(可以是任何類)

Activit 中使用

Activit:

getLifeCycle().addObserver(new LifeCycleObserver());

注:直接把實(shí)現(xiàn)了Observer 的類的實(shí)例傳進(jìn)去就行(默認(rèn)沒實(shí)現(xiàn)LifeCyclerOwner接口的自己手動(dòng)實(shí)現(xiàn)一下扩灯,并在各個(gè)生命周期添加對(duì)應(yīng)的調(diào)用)

觀察者:

繼承LifeCycleObserve類,或者繼承他的子類

隨便寫個(gè)方法

添加注釋@OnLifeCycleEven(LifeCycle.Even.ON_RESUME)

  • LifeCycle.Even.ON_CREATE
  • LifeCycle.Even.ON_START
  • LifeCycle.Even.ON_RESUME
  • LifeCycle.Even.ON_PAUSE
  • LifeCycle.Even.ON_STOP
  • LifeCycle.Even.ON_DESTROY
  • LifeCycle.Even.ON_ANY (可用于匹配所有事件的事件常量霜瘪。)
@OnLifecycleEvent(Lifecycle.Event.ON_ANY)
void onAny(LifecycleOwner owner, Lifecycle.Event event) {
        System.out.println("onAny:" + event.name());
    }

這樣這個(gè)方法就會(huì)在對(duì)應(yīng)的生命周期回調(diào)的時(shí)候調(diào)用了

其他生命周期一樣的寫法只是Even不同

注:LifeCycle.Even.Any 這個(gè)帶表的是任何生命周期,可以在這里監(jiān)聽生命周期的變化惧磺,能獲取到切換到的生命周期

Fragment 中使用

和Activity相同

獲取當(dāng)前生命周期

方法中添加 LifecycleOwner 參數(shù)

@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
    @OnLifecycleEvent(Lifecycle.Event.ON_ANY)
    fun onLifecycleChanged(
        owner: LifecycleOwner,
        event: Lifecycle.Event
    ){
        owner.lifecycle
        Log.d(TAG,"onLifecycleChanged...")
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末颖对,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子磨隘,更是在濱河造成了極大的恐慌缤底,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件番捂,死亡現(xiàn)場(chǎng)離奇詭異个唧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)设预,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門徙歼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鳖枕,你說我怎么就攤上這事魄梯。” “怎么了宾符?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵酿秸,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我魏烫,道長(zhǎng)辣苏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任哄褒,我火速辦了婚禮稀蟋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘呐赡。我一直安慰自己糊治,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布罚舱。 她就那樣靜靜地躺著井辜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪管闷。 梳的紋絲不亂的頭發(fā)上粥脚,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音包个,去河邊找鬼刷允。 笑死冤留,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的树灶。 我是一名探鬼主播纤怒,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼天通!你這毒婦竟也來了泊窘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤像寒,失蹤者是張志新(化名)和其女友劉穎烘豹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诺祸,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡携悯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了筷笨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片憔鬼。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖胃夏,靈堂內(nèi)的尸體忽然破棺而出逊彭,到底是詐尸還是另有隱情,我是刑警寧澤构订,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布侮叮,位于F島的核電站,受9級(jí)特大地震影響悼瘾,放射性物質(zhì)發(fā)生泄漏囊榜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一亥宿、第九天 我趴在偏房一處隱蔽的房頂上張望卸勺。 院中可真熱鬧,春花似錦烫扼、人聲如沸曙求。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悟狱。三九已至,卻和暖如春堰氓,著一層夾襖步出監(jiān)牢的瞬間挤渐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工双絮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浴麻,地道東北人得问。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像软免,于是被迫代替她去往敵國和親宫纬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容