2016-12-29 34 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中启动类似桌面环境的其他应用程序的图形环境。