天天看點

ActivityThread源碼分析

ActivityThread源碼分析

在整個App的入口的源碼中 我們可以看到它其實就是普普通通的Java中的main函數

之是以主線程不需要調用Loop。loop()方法就是因為在程式入口就已經預設調用了

函數入口又調用了ActivityThread.attach();方法

他的調用過程如圖顯示

ActivityThread源碼分析

main函數建立了一個ActivityThread對象之後

通過bindler機制 回調了handleLaunchActivity()方法

重點:handleLaunchActivity()是通過binder機制調用的

通過handleLaunchActivity()方法内調用了perfromLuanch() handlerResumeActivity()

//調用Activity的OnReume方法

performLaunchActivity ()

調用了performLaunchActivity ()方法 傳回Activity對象

createBaseContextForActivity()在上面方法得到調用