LiveBus
功能類似于EventBus谬墙,得益于kotlin的語(yǔ)言優(yōu)勢(shì)熔任,使用方便簡(jiǎn)單染突。自動(dòng)檢測(cè)Activity和Fragment生命周期,避免內(nèi)存泄漏材彪,主要原理是通過(guò)lifecycle來(lái)監(jiān)聽(tīng)生命周期自動(dòng)解綁
使用LiveBus
1观挎、在module的Gradle中加入
implementation 'com.liang:livebus:0.0.1'
2、發(fā)送數(shù)據(jù)
LiveBus.post(any)//any可以是任何對(duì)象
//另一種寫(xiě)法KTX
any.postOverall()//any可以是任何對(duì)象
3段化、接收數(shù)據(jù)
//默認(rèn)在主線程中接收
LiveBus.observer(this, Observer<Any> {any->
//any
}, threadMode = ThreadMode.BACKGROUND)
//另一種接收方式
Observer<Any>{any->
//any
}.changeFromOverall(lifecycleOwner = this)
//KTX默認(rèn)在主線程中接收observerFromOverall<DownLoad>(threadMode = ThreadMode.MAIN)
observerFromOverall<Any> {any->
//any
}