Слайд 2Код Java в Android-приложении предоставляется в формате байт-кода Dalvik, построенного вокруг регистр-ориентированной
![Код Java в Android-приложении предоставляется в формате байт-кода Dalvik, построенного вокруг регистр-ориентированной](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/915390/slide-1.jpg)
машины, а не в формате традиционного байт-кода Java, построенного вокруг стек-ориентированной машины.
Формат байт-кода Dalvik позволяет осуществлять более быструю интерпретацию, сохраняя при этом поддержку JIT-компиляции (Just-in-Time — к нужному моменту).
Слайд 3При написании Android-приложений
Пишется исходный код на Java
Компилируется в стандартный байт-код Java
Android преобразовывает этот байт-код Java
![При написании Android-приложений Пишется исходный код на Java Компилируется в стандартный байт-код](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/915390/slide-2.jpg)
в более компактный байт-код Dalvik
Слайд 4Каждое приложение запускается в собственном Linux-процессе с собственной Dalvik средой, и то
![Каждое приложение запускается в собственном Linux-процессе с собственной Dalvik средой, и то](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/915390/slide-3.jpg)
же самое касается system_server и других основных частей платформы, написанной на языке Java.
Использование процессов для такой изоляции позволяет Android задействовать все функции Linux, управляющие процессами, от изолирования памяти до очистки всех ресурсов, связанных с процессом, когда этот процесс прекращает свою работу. Кроме этих процессов Android может рассчитывать только на функции безопасности Linux,
а не на SecurityManager из Java.
Слайд 5Zygote
Этот демон отвечает за доставку инициализированной Dalvik-среды в точку, где готов запуск
![Zygote Этот демон отвечает за доставку инициализированной Dalvik-среды в точку, где готов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/915390/slide-4.jpg)
системного кода или кода приложения, написанного на языке Java.
Все новые процессы, основанные на применении среды Dalvik (системные или прикладные), ответвляются от zygote, что позволяет им начинать выполнение с уже готовой к работе средой.
Zygote не только доставляет Dalvik, он также осуществляет предварительную загрузку многих частей Android-среды, которые обычно используются в системе и приложениях, а также загружает ресурсы и другие часто востребуемые компоненты.