感謝,很久沒寫文章了,這篇還是兩年前的文章,lifecycle有不少api都已經(jīng)改變,建議大家自行看一遍新的源碼,加深理解
Android-Lifecycle超能解析-生命周期的那些事兒版權(quán)聲明:本文已授權(quán)微信公眾號(hào):Android必修課,轉(zhuǎn)載請申明出處 眾所周知,Android凡是需要展示給用戶看的,都包含著生命周期這個(gè)概念,例如Activity、Frag...
感謝,很久沒寫文章了,這篇還是兩年前的文章,lifecycle有不少api都已經(jīng)改變,建議大家自行看一遍新的源碼,加深理解
Android-Lifecycle超能解析-生命周期的那些事兒版權(quán)聲明:本文已授權(quán)微信公眾號(hào):Android必修課,轉(zhuǎn)載請申明出處 眾所周知,Android凡是需要展示給用戶看的,都包含著生命周期這個(gè)概念,例如Activity、Frag...
網(wǎng)上有很多 APT 相關(guān)教程,最近開始學(xué)這個(gè),發(fā)現(xiàn)有一些內(nèi)容已經(jīng)過時(shí)了,在使用過程中也發(fā)現(xiàn)了一些坑,總結(jié)一下,形成這篇教程。 本文開發(fā)環(huán)境:2019年5月初最新版本的 And...
@無敵小草wx 是怎么個(gè)實(shí)現(xiàn)不了呢? 無法找到類?
Android-Lifecycle超能解析-生命周期的那些事兒版權(quán)聲明:本文已授權(quán)微信公眾號(hào):Android必修課,轉(zhuǎn)載請申明出處 眾所周知,Android凡是需要展示給用戶看的,都包含著生命周期這個(gè)概念,例如Activity、Frag...
上兩篇文章從源碼角度深入理解Glide(上)和從源碼角度深入理解Glide(中)中,我們已經(jīng)把Glide加載圖片的基本流程走了一遍,想必你已經(jīng)對Glide的加載原理有了新的認(rèn)...
以Activity為例
1.首先明白兩個(gè)觀念,State從INITIALIZED到RESUMED狀態(tài)是增大的過程。Activity生命周期改變,應(yīng)觸發(fā)mObserverMap中所有LifecycleObserver改變State到同一狀態(tài)。
2.在addObserver時(shí),由于需要將Activity的生命周期變化分發(fā)給新LifecycleObserver,新LifecycleObserver的State初始是INITIALIZED,即如果Activity當(dāng)前生命周期處于onResume,那么需要將新LifecycleObserver的State從INITIALIZED增大為RESUMED。 因此mObserverMap中已有的LifecycleObserver的State肯定>=INITIALIZED,即你所說的先添加的肯定比后添加的大
3.在addObserver時(shí),calculateTargetState為什么不直接用mState作為目標(biāo)State呢,而是用mObserverMap中最后一個(gè)LifecycleObserver的State、mState、parentState三者中最小的一個(gè)State呢,由于mState變化時(shí),會(huì)通知mObserverMap中所有State變化到mState(如果它們3不一樣,說明這個(gè)過程還沒走完),因此這里只需要取最小的State,因?yàn)樾翷ifecycleObserver的State從INITIALIZED變化到這個(gè)最小值是最快的
Android-Lifecycle超能解析-生命周期的那些事兒版權(quán)聲明:本文已授權(quán)微信公眾號(hào):Android必修課,轉(zhuǎn)載請申明出處 眾所周知,Android凡是需要展示給用戶看的,都包含著生命周期這個(gè)概念,例如Activity、Frag...