Цифровая сфера за последние годы значительно изменилась, и в основе многих из этих инноваций лежит вездесущая операционная система Android. В августе 2023 года Google представила некоторые революционные улучшения среды выполнения Android (ART), и эти улучшения уже произвели фурор в техническом сообществе. В этой статье мы подробно рассмотрим эти изменения и попытаемся пролить свет на их последствия для более широкой экосистемы Android.

Представляем ART: шаг за пределы Dalvik

Прежде чем погрузиться в тонкости нового ART, крайне важно оценить его корни. В операционной системе Android изначально использовалась виртуальная машина процесса Dalvik. Несмотря на свою эффективность в расцвете сил, Dalvik имел свои ограничения. Встречайте ART — более продвинутую, эффективную и надежную среду выполнения приложений, которая продвинет Android в новую эпоху.

Если Dalvik в значительной степени полагался на интерпретацию байт-кода во время выполнения, ART продвигает этот процесс на шаг дальше. Он преобразует байт-код приложения в собственные инструкции, которые затем может выполнить среда выполнения устройства. Это изменение приводит к более быстрому запуску приложений, повышению производительности, снижению потребления памяти и расширенной поддержке отладки.

Подход двойной компиляции ART: AOT и JIT

Отличительной особенностью ART является его способность поддерживать как предварительную (AOT), так и своевременную (JIT) компиляцию. Этот двойной подход имеет множество преимуществ:

Предварительная компиляция (AOT). С помощью AOT преобразование байт-кода приложения в собственный код происходит либо при установке приложения, либо во время обновлений системы. Этот упреждающий подход устраняет необходимость интерпретации во время выполнения, тем самым значительно ускоряя время запуска приложения.

Компиляция «точно в срок» (JIT). В отличие от упреждающего характера AOT, JIT преобразует байт-код в собственный код при запуске приложения. Это открывает путь к адаптивной оптимизации, гарантируя, что будут транслироваться только необходимые компоненты кода, оптимизируя пространство для хранения и эффективность.

Расширенное управление памятью с помощью ART