日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android订阅管理,RXJAVA取消订阅封装-kotlin-Android

發(fā)布時間:2025/3/12 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android订阅管理,RXJAVA取消订阅封装-kotlin-Android 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

因為好幾次自己想要在別的項目使用,每次都要重寫一遍太麻煩,整理了一下發(fā)布到 jcenter 。

利用官方lifecycle庫與kotlin語言特性。lifecycle官方 support 27+ 自帶。

庫代碼數(shù)少于100行。

用法:

1、添加依賴

implementation 'com.sjianjun:rxutils:1.0.2'

2、代碼

提供了3個Disposable的擴展方法這里使用destory演示。

class MainActivity : AppCompatActivity(), AutoDisposeEnhance {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

//

Observable.create { }.doOnDispose {

Log.e("dispose", Exception("測試檢查調(diào)用棧"))

}.subscribe().destroy(lifecycle = lifecycle)

//destroy 方法的參數(shù)由 接口 sjj.rx.AutoDisposeEnhance 提供 。

Observable.create { }.doOnDispose {

Log.e("dispose2", Exception("測試檢查調(diào)用棧"))

}.subscribe().destroy()

}

override fun onResume() {

super.onResume()

}

}

說明

interface AutoDisposeEnhance {

fun Disposable.destroy(onceKey: String? = null) {

destroy(onceKey, getLifecycle())

}

fun Disposable.stop(onceKey: String? = null) {

stop(onceKey, getLifecycle())

}

fun Disposable.pause(onceKey: String? = null) {

pause(onceKey, getLifecycle())

}

fun getLifecycle():Lifecycle

}

主要聲明了三個方法擴展destory、stop、pause

參數(shù): oncekey , 如果重復的話會直接取消之前的disposeable 如果為null 則不處理

參數(shù):lifecycle ,被綁定到的聲明周期對象,通常由 activity 或者 fragment 提供,也可以自定義。

destory stop pause 三個擴展方法,表示在相應的生命周期 取消訂閱。

總結

以上是生活随笔為你收集整理的android订阅管理,RXJAVA取消订阅封装-kotlin-Android的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。