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