ARouter 遷移到 TheRouter 使用感受

之前項目中一直用的是 ARouter损拢,但是啟動耗時問題一直沒辦法解決行冰。最近發(fā)現(xiàn)貨拉拉開源了一套更先進的路由框架 TheRouter,還宣傳能無縫切換奏属,就趕緊拿來試了一下跨跨,真香!囱皿!

先看一下官方介紹:TheRouter 是一個 Kotlin 編寫勇婴,用于 Android 模塊化開發(fā)的一整套解決方案框架。
Github 項目地址:https://github.com/HuolalaTech/hll-wp-therouter-android嘱腥、
官網(wǎng)文檔:https://therouter.cn/

仔細看了一下作者耕渴,還是濤哥寫的。我算是濤哥博客的老讀者了齿兔,之前就用過濤哥寫的 TheMVPKJFrameForAndroid 原來是去了貨拉拉橱脸。

運行遷移工具

  1. 下載 TheRouter 官方提供的遷移工具础米,支持 Windows 和 Mac:工具下載看官方文檔
  2. 選擇當(dāng)前項目的路由框架,目前遷移工具好像只支持 ARouter 遷移到 TheRouter添诉。
  3. 選擇要使用的TheRouter版本號
  4. 選擇項目路徑屁桑,直接選根目錄就可以
1-1.png

5.開始轉(zhuǎn)換。

  1. 轉(zhuǎn)完以后會生成改動日志栏赴,因為 ARouterProvider 有 init 方法蘑斧,但TheRouter是沒有這個方法的,需要自己判斷一下代碼邏輯须眷,我是直接在接口方法被調(diào)用的時候竖瘾,先調(diào)一下init就行了。
  2. 日志生成以后如果沒有需要手動修改的部分柒爸,就啥也不用管了准浴。如果有的話可以選擇把日志導(dǎo)出事扭,放到 Sublime 里面看捎稚,比較清晰一點。

查看 git 修改記錄

可以看到求橄,TheRouter 的遷移工具還是很智能的今野,需要改的地方都自動改了。還可以直接把沒用的ARouter方法注釋掉罐农。大家可以自己試一試条霜,如果寫了Provider 但是里面的 init 什么代碼也沒有,也會直接刪除涵亏。

1-3.png
1-4.png

單模塊自動初始化能力

并且 TheRouter 對于模塊化開發(fā)的支持非常完全宰睡,按照官方文檔的描述:TheRouter 是完全面向模塊化開發(fā)提供的一套解決方案。在模塊化開發(fā)時气筋,可能每個模塊都有自己需要初始化的一些代碼拆内。以前的做法是把這些代碼都在Application里聲明,但是這樣可能隨著業(yè)務(wù)變動每次都需要修改Application所在模塊宠默。TheRouter 的單模塊自動初始化能力就是為了解決這樣的情況麸恍,可以只在當(dāng)前模塊聲明初始化方法后,將會在業(yè)務(wù)場景時自動被調(diào)用搀矫。

每個加了 @FlowTask 注解的方法抹沪,都會在編譯期被解析,生成一個對應(yīng)的 Task 對象瓤球,這個對象包含了初始化方法的相關(guān)信息融欧,比如:是否異步執(zhí)行、任務(wù)名卦羡、是否依賴其他任務(wù)先執(zhí)行噪馏。

當(dāng)所有aar都編譯完成权她,生成好全部的 Task 以后,會在主 app 中通過Gradle插件進行聚合逝薪,在這時會將所有的 Task 做一次檢查隅要,通過構(gòu)建有向無環(huán)圖來防止 Task 發(fā)生循環(huán)引用的情況。

每次應(yīng)用啟動后董济,會在路由初始化時步清,將有向圖中的全部Task,按照依賴關(guān)系按順序加載虏肾。

這個自動初始化能力一開始我們組很多同事都說沒用廓啊,結(jié)果實際用起來發(fā)現(xiàn):絕對的真香。尤其是之前在做隱私合規(guī)整改的時候封豪,很多模塊的初始化代碼都要改谴轮,現(xiàn)在用了這套自定義自動初始化實際的框架,直接代碼全部內(nèi)聚回自己模塊吹埠,完全不存在跨模塊修改代碼的情況了第步。

有一些小坑

遷移工具整體還算不錯,但是用完發(fā)現(xiàn)還是有一些小坑的缘琅。
ARouter 自定義攔截器沒辦法遷移粘都,用完一鍵遷移以后,代碼編譯不過了刷袍,還需要手動改一下攔截器的代碼改到TheRouter對應(yīng)的攔截器上才行翩隧。

總結(jié)

總之用下來的感受就是——絲滑!

直接無縫從ARouter遷移到TheRouter呻纹,之前老大評估還需要三天的時間堆生,我直接半天就搞完了,測試測了一天也是說一把過雷酪。
順帶還把之前的初始化邏輯改了一下淑仆,后面開發(fā)的時候,基本上就不用再管別人開發(fā)的模塊了太闺,我自己搞完我的事就下班糯景,拜拜~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市省骂,隨后出現(xiàn)的幾起案子蟀淮,更是在濱河造成了極大的恐慌,老刑警劉巖钞澳,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怠惶,死亡現(xiàn)場離奇詭異,居然都是意外死亡轧粟,警方通過查閱死者的電腦和手機策治,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門脓魏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人通惫,你說我怎么就攤上這事茂翔。” “怎么了履腋?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵珊燎,是天一觀的道長。 經(jīng)常有香客問我遵湖,道長悔政,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任延旧,我火速辦了婚禮谋国,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘迁沫。我一直安慰自己芦瘾,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布弯洗。 她就那樣靜靜地躺著旅急,像睡著了一般逢勾。 火紅的嫁衣襯著肌膚如雪牡整。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天溺拱,我揣著相機與錄音逃贝,去河邊找鬼。 笑死迫摔,一個胖子當(dāng)著我的面吹牛沐扳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播句占,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼沪摄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纱烘?” 一聲冷哼從身側(cè)響起杨拐,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎擂啥,沒想到半個月后哄陶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡哺壶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年屋吨,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜒谤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡至扰,死狀恐怖鳍徽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情敢课,我是刑警寧澤旬盯,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站翎猛,受9級特大地震影響胖翰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜切厘,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一萨咳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧疫稿,春花似錦培他、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至途蒋,卻和暖如春猛遍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背号坡。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工懊烤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宽堆。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓腌紧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親畜隶。 傳聞我的和親對象是個殘疾皇子壁肋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容