Android技術20:Android的初始化流程

來源:互聯網
上載者:User

標籤:android   blog   http   io   for   2014   cti   linux   

Android系統是如何啟動的呢,應用程式是如何啟動。下面簡要介紹下初始化流程。

1.Android系統的初始化

1.1Android系統會首先啟動Linux基礎系統,然後引導載入Linux核心並啟動初始化進程Init

Linux Kernel---->Init(pid=1)

1.2啟動守護進程Daemons

    啟動Usb守護進程,管理USB串連

    啟動Android Debug Bridge守護進程管理ADB串連

    啟動Debuggerd Debug守護進程

    啟動無線介面守護進程管理無線通訊

1.3啟動守護進程的同時,會啟動Zygote進程

    建立初始化Dalvik初始化執行個體

    載入socket請求的需要的類和監聽

    建立虛擬機器執行個體來管理應用程式的進程

 

         |  Daemons

init----

         |  Zygote

1.4接下來,初始化Runtime進程

     初始化服務管理員Service Manager

     註冊服務管理員,以它作為預設的Binder服務Context管理器

1.5啟動系統服務System Service

     Runtime向Zygote發送一個請求,Zygote為系統服務建立一個Dalvik虛擬機器執行個體,並啟動系統服務,系統服務將啟動原生系統服務,主要包括Audio Flinger和Surface Flinger,這些本地系統服務將註冊到服務管理員。系統服務將啟動Android管理服務,將管理服務都被註冊到服務管理員上。

1.6系統載入完成,等待應用程式啟動

1.7Activity Manager管理器向Zygote發出一個Socket請求,Zygote通過fork機制建立一個Dalvik虛擬機器進程,來運行應用程式

    所有的應用程式進程都是Zygote進程的子進程,每一個應用程式一個進程一個虛擬機器。

    

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.