阿里ARouter原始碼分析

2021-08-08 21:11:19 字數 1074 閱讀 8933

開源最佳實踐:android平台頁面路由框架aroute

aroute原始碼分析

1、 arouter應該是參考了springmvc, 通過uri字串開啟activity/service/fragment。 

3、arouter使用靜態變數快取context, 如果儲存的是activity的上下文則必須要在activity的ondestory函式裡置空;

4、arouter的核心作用就是通過uri找到類完整路徑後反射並例項化

5、arouter使用了android的apt技術,跟常用的butterknife原理是一樣的;aroute會在編譯時動態注入uri和類完整路徑的對映關係; 是由autowiredprocessor,interceptorprocessor和routeprocessor這3個類實現的。

6、初始化aroute時, 會反射出註解生成的類並拿到uri和類路徑對應關係;

以arouter原始碼的demo為例:

執行時載入對映關係:

以開啟activity為例, 出入路徑uri後從warehouse.routes裡取出對應的類路徑, postcard.getdestination()反射出類。

spring原始碼分析 spring原始碼分析

1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...

思科VPP原始碼分析(dpo機制原始碼分析)

vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...

redux原始碼分析(三) 原始碼部分

下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...