
image.png
如上圖,我們其實(shí)可以從連接或者綁定的角度(連接或者綁定的意思就是兩個(gè)對象互相持有引用),即一個(gè)根activity的啟動(dòng)過程其實(shí)就是App進(jìn)程與AMS的連接與綁定,而現(xiàn)在的已知條件有三個(gè)
- Launcher與AMS綁定
- AMS與Zygote綁定
- Zygote可以創(chuàng)建App進(jìn)程
所以答案就很簡單了通過傳遞原理,Launcher->AMS->Zygote->App,最后APP其實(shí)可以拿到AMS的引用了類似TCP連接我們就知道了(地址:端口)了,然后就可以建立連接了。連接建立后AMS便可以通知APP進(jìn)程正式啟動(dòng)activity