Zygote no está realmente relacionado con Dalvik, es solo un proceso de inicio. Zygote es el método que usa Android para iniciar aplicaciones. En lugar de tener que comenzar cada nuevo proceso desde cero, cargar todo el sistema y el marco de Android de nuevo cada vez que desea iniciar una aplicación, realiza ese proceso una vez y luego se detiene en ese punto, antes de que Zygote haya hecho algo específico de la aplicación . Luego, cuando desea iniciar una aplicación, el proceso Zygote se bifurca y el proceso secundario continúa donde se quedó, cargando la aplicación en la VM.
Aunque este método fue diseñado originalmente para Dalvik, no hay razón para que ART no se comporte exactamente de la misma manera. No tiene que compilar aplicaciones JIT mientras se ejecutan, pero aún tiene muchas cosas Java independientes de la aplicación para cargar (es decir, todo el marco de Android), por lo que tiene sentido usar el mismo fork-when- Método cargado para iniciar nuevos procesos.
Es natural en un proyecto tan grande que haya otros sobrantes de Dalvik que todavía sean útiles en un mundo posterior a Dalvik, por lo que no debería sorprenderse de que haya otro código que originalmente se escribió para ser parte o para trabajar con Dalvik, que todavía está disponible para ART.