說下?Flowable 和?Maybe 的使用
網(wǎng)上找了很多關于二者的文章,大同小異,借用別的作者的話說
Flowable支持背壓的,也就是說上游的被觀察者會響應下游觀察者的數(shù)據(jù)請求,下游調(diào)用request(n)來告訴上游發(fā)送多少個數(shù)據(jù)。這樣避免了大量數(shù)據(jù)堆積在調(diào)用鏈上,使內(nèi)存一直處于較低水平。所以Flowable 必須在 回調(diào)函數(shù)??onSubscribe 中去與下游溝通,這樣onNext,onError ,onComplete 方法才會被執(zhí)行。
溝通方式很隨意??subscription.request(1),onSubscribe回調(diào)按照我的理解,是做預處理,我們可以在該方法中取消訂閱,做些變量初始化之類的事。
Flowable 用 Subscriber去處理時,不需要指定操作線程跟訂閱者線程,經(jīng)過測試,默認處理在不在UI線程,回調(diào)在UI線程。
Maybe 使用時相反,需要指定操作線程跟響應線程,上下游之間不需要做溝通,直接回調(diào)onSuccess,onError 方法。