
流程
-
初始化
ARouter内部有一个_ARouter类,实际初始化是_ARouter做的
ARouter调用_ARouter的初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17/**
* Init, it must be call before used router.
*/
public static void init(Application application) {
if (!hasInit) {
logger = _ARouter.logger;
_ARouter.logger.info(Consts.TAG, "ARouter init start.");
//调用_ARouter初始化
hasInit = _ARouter.init(application);
if (hasInit) {
_ARouter.afterInit();
}
_ARouter.logger.info(Consts.TAG, "ARouter init over.");
}
}
```
_ARouter实际初始化
protected static synchronized boolean init(Application application) {
mContext = application;
//LogisticsCenter初始化
LogisticsCenter.init(mContext, executor);
logger.info(Consts.TAG, “ARouter init success!”);
hasInit = true;
mHandler = new Handler(Looper.getMainLooper());
// It's not a good idea.
// if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
// application.registerActivityLifecycleCallbacks(new AutowiredLifecycleCallback());
// }
return true;
}
```
然后_ARouter内部又调用LogisticsCenter初始化




近期评论