當前位置:編程學習大全網 - 源碼下載 - Android應用程序啟動過程總結

Android應用程序啟動過程總結

醫療輔助隊的主要職能:

AMS是Android中的核心服務,主要負責系統中四個組件的啟動、切換和調度,以及應用進程的管理和調度。它還負責啟動或終止應用程序的過程。

WMS的主要功能:

為所有窗戶指定表面。

管理表面的顯示順序、大小和位置。

管理窗口動畫。

輸入系統相關:WMS是分發系統按鈕和觸摸信息的最佳人選。當接收到觸摸事件時,它需要找到最合適的窗口來處理消息。

PWS的主要功能:

PMS用於管理和跟蹤所有應用程序APK,包括安裝、卸載、分析、控制權限等。

SystemServer也是壹個進程,包括AMS、PMS、WMS等等。

合子的意思是“受精卵”。Android基於Linux系統,而在Linux中,所有進程都是由init進程直接或間接分叉出來的,zygote進程也不例外。

當用戶單擊桌面圖標,通過啟動程序進程請求SystemServer,然後調用Zygote時,App進程就會出現陰影。

(1)點擊啟動壹個App,Launcher進程使用Binder IPC向ActivityManagerService發起startActivity請求;

②收到請求後②ActivityManagerService向zygote process發送創建流程的請求;

③合子進程叉生出壹個新的子進程,即App進程;

④④App進程通過Binder IPC向sytem _ server進程發送綁定申請請求;

⑤收到請求後,⑤system_server進程做壹系列準備,然後通過binder IPC向App進程發送scheduleLaunchActivity請求;

⑥App進程的綁定線程收到請求後,通過handler向主線程發送LAUNCH_ACTIVITY消息;

⑦主線程收到消息後,通過啟動機制創建目標活動,回調Activity.onCreate()等方法。

⑧至此,App正式上線,開始進入活動生命周期。執行onCreate/onStart/onResume方法後,可以看到UI渲染後的App主界面。

備註:

Launcher、PMS、Zygote、App是三個獨立的進程,相互之間需要進程間通信機制進行通信。Socket通信用於與Zygote通信,在Launcher、PMS和App進程之間使用Binder機制。

  • 上一篇:Ios原神白屏進不去
  • 下一篇:英文模板源代碼
  • copyright 2024編程學習大全網