我一直在阅读Android和Linux发行版的差异和相似之处。我知道除了linux内核之外,这两者之间存在巨大差异
systems -> Keyword Java
对我而言,有一件事情我不清楚。 Android的图形环境,这只是一个java应用程序吗?那么,我是否正确解释such图形,Dalvik
是在内核之上运行的唯一应用程序,其他内容是虚拟的,而在Linux系统上,桌面环境是本机的(和JRE)只是一个原生应用程序)?
答案 0 :(得分:1)
非常简单,当Android启动时,bootloader会像其他常规Linux发行版一样启动内核(使用Binder之类的额外设备等)。内核执行初始化并启动init。 init以不同方式设置用户空间。 init启动一些管家守护进程(本机,非Java)。在它的后期阶段,它不是运行桌面环境,而是启动一个名为zygote的通用java进程(使用jre),它被分叉以启动所有新的其他android进程。前两个是系统服务和启动器(主屏幕)。启动器充当用户启动其他应用程序的图形环境,类似于Linux中的桌面环境。