說下?Flowable 和?Maybe 的使用
網(wǎng)上找了很多關(guān)于二者的文章,大同小異颈抚,借用別的作者的話說
Flowable支持背壓的渴语,也就是說上游的被觀察者會響應(yīng)下游觀察者的數(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)按照我的理解,是做預(yù)處理耘拇,我們可以在該方法中取消訂閱撵颊,做些變量初始化之類的事。
Flowable 用 Subscriber去處理時惫叛,不需要指定操作線程跟訂閱者線程,經(jīng)過測試逞刷,默認(rèn)處理在不在UI線程嘉涌,回調(diào)在UI線程妻熊。
Maybe 使用時相反,需要指定操作線程跟響應(yīng)線程仑最,上下游之間不需要做溝通扔役,直接回調(diào)onSuccess,onError 方法。