С выходом новой версии Android KitKat 4.4 стало известно, что Google меняет основы основ своей мобильной платформы. Место виртуальной машины Dalvik, которая отвечает за запуск и работу приложений в Android, занимает новая - Android Runtime (ART).
Корпорация сообщает, что ART заменит Dalvik при первой возможности – скорее всего, уже со следующим обновлением системы работа приложений должна полностью функционировать по-новому. ART доступен в последней версии Android. По умолчанию он отключен, его активация является опциональной и может быть запущена в настройках девайса, работающего на операционной системе KitKat 4.4 (пока это только устройства Nexus).
«Не хочу давать точных обещаний, но к выходу новой версии мобильной операционки ART уже должен быть готов к полноценному запуску. Вполне вероятно, что так и будет. В целом, он уже работает, в настоящее время мы занимаемся оптимизацией, - говорит главный разработчик Дэйв Бёрке (Dave Burke). – Мы активно работаем, и сделаем полную замену, как только убедимся, что новая система превосходит Dalvik по всем параметрам».
Dalvik – это виртуальный механизм, компилирующий тот код, который позволяет приложениям запускаться и, собственно, работать. Android работал на Dalvik с самого начала своего существования, и именно он является той базой, благодаря которой Android-приложения способны работать на самых разных девайсах, процессорах и типах памяти этой мобильной ОС.
Рядовой пользователь, как правило, вообще не думает о том, как работают приложения. Но если задумается, то предположит, что и приложения, и коды «живут» где-то в недрах его смартфона или планшета. Но это не так. Они нигде не «живут» - такого места просто не существует. На самом деле, каждый раз, когда запускается приложение, байт-код, который активирует программу, проходит через компилятор, заставляющий его работать. В Android это делает процесс, известный как JIT-компилятор, или «Just
In Time» («как раз вовремя»). Он переводит универсальный байт-код на код устройства, который, в свою очередь, становится специфичной для конкретного «железа» программой – тем, что, наконец, и можно назвать «приложением». Весь этот процесс в операционной системе Android с момента ее появления и до сих пор выполняет Dalvik.
Большинство приложений для Android написаны на языке программирования Java и представляют из себя байт-код – универсальный числовой код, утвержденный разработчиками для таких магазинов приложений, как Google Play. Этот байт-код затем передается от файла Java Virtual Machine в исполняемый файл Dalvik.
Представьте себе: каждый раз, когда вы открываете приложение, разные составляющие смартфона, ответственные за работу приложения, должны собраться и сгенерировать код, который его запустит. Вы закрываете приложение, и все эти составляющие расходятся. Вы открываете его - и они снова собираются. И так каждый раз, с каждым приложением. Способ не очень эффективный, но зато он позволяет приложениям запускаться фактически везде – именно это было одной из причин, по которой BlackBerry с такой легкостью перенесла
приложения из Android в свою BlackBerry 10. Таким образом, эта виртуальная машина, которую сейчас меняет Google, представляет своего рода среду, где все необходимые компоненты преобразуются именно в тот код, который подходит для выполнения конкретному девайсу с его железом, версией операционки и прочей начинкой.
В какой-то момент команда разработчиков корпорации поняла – Dalvik изжил себя и необходимы серьезные изменения. Как теперь стало известно, работа по созданию нового алгоритма шла на протяжении последних двух лет.
«Мы начали думать, как нужно оптимизировать процесс, чтобы он был базой всех нужных нам гаджетов еще лет на десять, - продолжает...
Времена Милона Кротонского, бегавшего наперегонки с лошадьми и тренировавшегося с растущим молодым бычком, остались в прошлом. Сегодня на помощь любителям и профессиональным спортсменам приходят электронные устройства.
Как ни сворачивай из листка бумаги самолет — он все равно летит почти непредсказуемо. Даже если задать ему определенные аэродинамические показатели, подогнуть «рули», управлять им не получится... Если только не использовать устройство PowerUp 3.0.