2016-12-29 33 views
1

我一直在閱讀有關Android和Linux發行版的差異和相似之處。我知道除了linux內核之外,這兩者之間存在巨大的差異Android和Linux中的桌面環境/架構

systems -> Keyword Java 

有一件事對我來說並不清楚。 Android的圖形環境,這只是一個Java應用程序呢?那麼,我是否正確解釋such圖形,並且Dalvik是運行在內核之上的唯一應用程序,而其他東西是虛擬的,而在Linux系統上,桌面環境是本機的(而JRE只是一個本地應用程序)?

回答

1

簡而言之,當Android引導時,引導加載程序像其他一般Linux發行版(帶有一些額外的設備,如Binder等)啓動內核。內核進行初始化並啓動init。 init以不同的方式設置用戶空間。 init啓動一些內務守護進程(本地,非Java)。在後期階段,它不是運行桌面環境,而是啓動一個名爲zygote的通用java進程(使用jre),該進程被分叉以啓動所有新的其他android進程。其中前兩個是系統服務和啓動器(主屏幕)。啓動器充當用戶在Linux中啓動類似桌面環境的其他應用程序的圖形環境。