app啟動過程

2021-07-11 20:54:36 字數 449 閱讀 4488

apk程式的執行過程

首先,activitythread從static main()函式開始,呼叫preparemainlooper()為ui執行緒建立乙個訊息對列(messagequeue)

binder負責接遠端ams的ipc呼叫,收到訊息後,通過handler將訊息傳送到訊息佇列,ui主線程會非同步的從訊息佇列中取出訊息並執行操作

接著,ui主線程呼叫looper.loop()進入訊息迴圈體。

當activitythread接收到ams傳送start某個activit後,就會建立指定的activity物件。activity又會建立phonewindow類--->decroview類--->相應的view建立完成後,activity需要把建立好的介面顯示到螢幕上,於是呼叫windowmanager,他會建立乙個viewroot物件,建立完viewroot後,wm呼叫wms提供的遠端介面完成新增乙個視窗並顯示到螢幕上。

APP啟動過程

activitymanagerservice組織回退棧時以activityrecord為基本單位,所有的activityrecord放在同乙個arraylist裡,可以將mhistory看作乙個棧物件,索引0所指的物件位於棧底,索引mhistory.size 1所指的物件位於棧頂 zygote程序孵...

應用程式App的啟動過程

有storyboard情況下 1.執行 main 函式 3.開啟乙個主執行迴圈,保證應用程式不會退出 4.根據 info.plist 獲得 main.storyboard 的檔名,載入 main.storyboard 有storyboard的情況 建立uiwindow 建立和設定uiwindow 的...

mysql啟動過程長 mysql啟動過程

mysql啟動過程經過以下順序 1.mysql讀取配置檔案的順序 讀取順序 etc my.cnf etc mysql my.cnf usr etc my.cnf my.cnf 2.mysql啟動方式 mysql啟動方式有三種 mysqld mysqld safe mysqld multi 主要用於多...