Что такое Zygote в Android

«Что такое Zygote в Android» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Zygote — это процесс в Android, который предварительно загружает общие классы и ресурсы для ускорения запуска новых приложений. При старте системы Zygote инициализируется и загружает основные библиотеки (например, android.jar). Когда нужно запустить новое приложение, Zygote форкается (создает копию себя), и новый процесс наследует уже загруженные ресурсы, что экономит время и память.

Пример работы:

// Zygote инициализирует VM и загружает общие классы
// При запросе на запуск приложения:
Process.ProcessStartResult startResult = ZygoteProcess.zygoteSendArgsAndGetResult(args);

Преимущества:

  • Быстрый запуск приложений
  • Экономия памяти за счет общего кода
  • Изоляция процессов (каждое приложение — отдельный форк Zygote)