集合框架介紹 在Java語言中叨吮,Java語言的設(shè)計(jì)者對(duì)常用的數(shù)據(jù)結(jié)構(gòu)和算法做了一些規(guī)范(接口)和實(shí)現(xiàn)(具體實(shí)現(xiàn)接口的類)辆布。所有抽象出來的數(shù)據(jù)結(jié)構(gòu)和操作(算法)統(tǒng)稱為Java集...
你好割粮,樓主盾碗。我覺得DispatcherActivityCallback 中加入ReportFragment.injectIfNeededIn(activity)應(yīng)該是為了兼容support庫中的Activity的,只有AndroidX中的androidx.core.app.ComponentActivity的oncreate方法里調(diào)用了ReportFragment.injectIfNeededIn舀瓢。
class LifecycleDispatcher {
static void init(Context context) {
...
//registerActivityLifecycleCallbacks 注冊一個(gè)監(jiān)聽器
((Application) context.getApplicationContext())
.registerActivityLifecycleCallbacks(new DispatcherActivityCallback());
}
}
Application使用registerActivityLifecycleCallbacks將DispatcherActivityCallback進(jìn)行注冊廷雅,放入了自己的mActivityLifecycleCallbacks集合中,然后在Application的dispatchActivityCreated方法里循環(huán)遍歷調(diào)用了DispatcherActivityCallback的onActivityCreated方法
實(shí)際就是如果有個(gè)Activity oncreate方法被調(diào)用京髓,這時(shí)候便會(huì)調(diào)用Application的dispatchActivityCreated方法航缀,然后便通過遍歷mActivityLifecycleCallbacks集合,取出DispatcherActivityCallback堰怨,調(diào)用onActivityCreated方法芥玉,將當(dāng)前activity和ReportFragment有了綁定,這樣其他非AndroidX activity也可以使用lifecycle了
Lifecycle 使用及原理解析 一文搞懂*本篇文章已授權(quán)微信公眾號(hào) guolin_blog (郭霖)獨(dú)家發(fā)布 Lifecycle是Android Architecture Components的一員,這玩意兒挺方便...