為什么不推薦rxjava 真的有必要用rxjava嗎?
真的有必要用rxjava嗎?1. Rxjava邏輯比較清晰,代碼可讀性比較差;在后臺業(yè)務(wù)處理中使用時,后臺業(yè)務(wù)通常比較復(fù)雜,步驟比較多,邏輯比較清晰,但前端基本不需要,代碼可讀性比較差;2。每次改造發(fā)
真的有必要用rxjava嗎?
1. Rxjava邏輯比較清晰,代碼可讀性比較差;在后臺業(yè)務(wù)處理中使用時,后臺業(yè)務(wù)通常比較復(fù)雜,步驟比較多,邏輯比較清晰,但前端基本不需要,代碼可讀性比較差;
2。每次改造發(fā)送一個請求時,都會創(chuàng)建okhttp,它不會被重用,從而導(dǎo)致單個data3的請求性能降低。rxjava改造的性能非常低,特別是當(dāng)它是并發(fā)的時候。測試表明,運(yùn)行100個并發(fā)工件需要1200ms,如果不使用則需要130ms;
4。Rxjava改裝組合當(dāng)您需要讀取本地緩存時,讀緩存是通過URL作為鍵讀取的。這樣就需要寫兩次URL,一個是框架,一個是緩存,使用起來比較不方便。以上是我在使用過程中的體會。有專家解答這個難題嗎?目前,我決定放棄這個組合,自己實(shí)現(xiàn)一個
Rxjava比eventbus應(yīng)用更廣泛。Eventbus只是一個消息傳遞工具,但它幾乎可以在rxjava中做任何事情。
如果是Android開發(fā),可以使用rxandroid,它是rxjava的擴(kuò)展。再加上square公司的復(fù)古合身,你可以輕松上網(wǎng)。
眾所周知,asyctask通常用于Android中的異步操作。然而,asyctask有很多缺點(diǎn),比如不能方便地終止任務(wù)的執(zhí)行。
Rxandroid完全可以代替asycTask來完成各種異步操作,還有bindactivity和bindfragment方法。異步操作完全不需要考慮活動和片段的生命周期,還有更強(qiáng)大的鏈調(diào)用,可以使程序非常簡單。
eventbus的一個缺點(diǎn)是不能混淆所有使用eventbus的類,否則evnetbus找不到OneEvent方法。
以上,建議使用rxandroid。
rxandroid和rxjava的區(qū)別?
Rx:功能響應(yīng)編程。響應(yīng)代碼的基本組件是可觀察的和訂戶(事實(shí)上,觀察器是最小的構(gòu)建塊,但訂戶在實(shí)踐中使用最多,因?yàn)橛啈魧?yīng)于可觀察的)。Observable發(fā)送消息,而subscriber用于消費(fèi)消息。主要區(qū)別在于,在Rx中建立訂閱關(guān)系時,可以使用操作符進(jìn)行任何處理(如轉(zhuǎn)換數(shù)據(jù)、更改數(shù)據(jù)等),并且可以處理異步操作。Eventbus相當(dāng)于廣播。當(dāng)它被發(fā)送時,它總是可以接收它。發(fā)送后不能更改任何數(shù)據(jù)。如果需要更改,則必須重新發(fā)布。