![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yMxM2YlJmYyU2NiFmYlZWO0gDMkhDNxUTZ1cTZiFGOj9CXzIzLclDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)
在整個App的入口的源碼中 我們可以看到它其實就是普普通通的Java中的main函數
之是以主線程不需要調用Loop。loop()方法就是因為在程式入口就已經預設調用了
函數入口又調用了ActivityThread.attach();方法
他的調用過程如圖顯示
main函數建立了一個ActivityThread對象之後
通過bindler機制 回調了handleLaunchActivity()方法
重點:handleLaunchActivity()是通過binder機制調用的
通過handleLaunchActivity()方法内調用了perfromLuanch() handlerResumeActivity()
//調用Activity的OnReume方法
performLaunchActivity ()
調用了performLaunchActivity ()方法 傳回Activity對象
createBaseContextForActivity()在上面方法得到調用