Zygote는 실제로 Dalvik과 연결되어 있지 않으며 단지 init 프로세스입니다. Zygote는 Android가 앱을 시작하는 데 사용하는 방법입니다. 새로운 각 프로세스를 처음부터 시작하지 않고 앱을 시작할 때마다 전체 시스템과 Android 프레임 워크를 새로로드하는 대신 Zygote가 앱 특정 작업을 수행하기 전에 해당 프로세스를 한 번 수행 한 다음 해당 시점에서 중지합니다. . 그런 다음 앱을 시작하려고 할 때 Zygote 프로세스가 분기되고 하위 프로세스는 중단 된 위치에서 계속 진행하여 앱 자체를 VM에로드합니다.
이 방법은 원래 Dalvik 용으로 설계되었지만 ART가 정확히 같은 방식으로 작동하지 않아야하는 이유는 없습니다. 앱이 실행되는 동안 JIT 컴파일 할 필요는 없지만 여전히로드 할 앱 독립적 인 Java 항목이 많이 있으므로 (예 : 전체 Android 프레임 워크), 동일한 포크를 사용하는 것이 좋습니다 새로운 프로세스를 시작하는로드 된 메소드.
Dalvik 이후의 Dalvik 세계에서 여전히 유용한 다른 남은 것들이있을 수있는 큰 프로젝트에서는 당연합니다. 따라서 원래 일부 또는 ART가 여전히 사용하고있는 Dalvik과 협력하십시오.