App啟動流程底層詳解

2021-09-29 02:39:35 字數 921 閱讀 3793

首先應該說一下linux的啟動流程 或者設計說一下系統的啟動流程。

首先不管是什麼系統 啟動流程都是一樣的 ![系統啟動流程](https://img-

總的來說,linux系統啟動流程可以簡單總結為以下幾步:

1)開機bios自檢,載入硬碟。

2)讀取mbr,進行mbr引導。

3)grub引導選單(boot loader)。

4)載入核心kernel。

5)啟動init程序,依據inittab檔案設定執行級別

6)init程序,執行rc.sysinit檔案。

7)啟動核心模組,執行不同級別的指令碼程式。

根據需要執行的程式 來設定執行級別 確定要執行哪些

8)執行/etc/rc.d/rc.local

9)啟動mingetty,進入系統登陸介面。

關鍵是: 程序是在被需要的時候才建立的.

第一步通過packagemanager的resolveintent()收集這個intent物件的指向資訊.

指向資訊被儲存在乙個intent物件中.

下面重要的一步是通過granturipermissionlocked()方法來驗證使用者是否有足夠的許可權去呼叫該 intent物件指向的activity.

如果有許可權, activitymanagerservice會檢查並在新的task中啟動目標activity.

現在, 是時候檢查這個程序的processrecord是否存在了.

如果processrecord是null, activitymanagerservice會建立新的程序來例項化目標activity.

activity啟動流程 App啟動流程三問

裡面涉及到哪些重要的成員呢?都分別負責了什麼,比如ams?啟動流程了解後,對我們開發有什麼幫助呢?1 比如啟動優化,分析啟動過程,其實可以優化啟動速度的地方有三個地方 activity的oncreate方法,同樣進行執行緒處理,懶載入。或者預建立activity,提前類載入等等。2 又比如外掛程式化...

Ubuntu啟動流程詳解

現行的linux distributions中主流的有兩種init方式 一種是廣為流傳的system v initialization,它 於unix並且至今仍被各種linux distributions所採用 另一種是近幾年提出的upstart方式,基於事件機制,系統的所有服務,任務都是由事件驅動...

Linux 的啟動流程詳解

第一階段 bios啟動引導階段 在該過程中實現硬體的初始化以及查詢啟動介質 從mbr中裝載啟動引導管理器 grub 並執行該啟動引導管理 第二階段 grub啟動引導階段 裝載stage1 裝載stage1.5 裝載stage2 讀取 boot grub.conf檔案並顯示啟動選單 裝載所選的kern...