1.首先在ActivityThread的主線程,生成一個(gè)ApplicationThread對象我抠,這個(gè)對象式能夠?qū)ν馓峁┻h(yuǎn)程服務(wù)的苇本,換句話說別的進(jìn)程可以通過這個(gè)對象的本地代理與我這個(gè)ActivityThread的主線程(ApplicationThread對象)通信
2.獲取系統(tǒng)服務(wù)ActivityManager的本地代理對象
3.將生成的ApplicationThread對象通過ActivityManager的本地代理對象“發(fā)送”給系統(tǒng)服務(wù)ActivityManager,這樣系統(tǒng)服務(wù)ActivityManager會(huì)"生成"ApplicationThread對象的本地代理菜拓,到此主線程與系統(tǒng)服務(wù)ActivityManager之間的“雙工”通信信道就建立了
4.當(dāng)你想要啟動(dòng)一個(gè)Activity的時(shí)候瓣窄,系統(tǒng)服務(wù)ActivityManager就會(huì)調(diào)用ApplicationThread對象的本地代理的scheduleLaunchActivity方法,這樣主線程的scheduleLaunchActivity也會(huì)相應(yīng)的被調(diào)用尘惧,至此開始了Activity生命周期函數(shù)的回調(diào)康栈。
作者:鐘離四郎
鏈接:http://www.reibang.com/p/91984327690e
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處喷橙。