Google меняет алгоритм запуска всех приложений Android
Главная > Статьи > Android OS

29.11.2013 Google меняет алгоритм запуска всех приложений Android

#

С выходом новой версии 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 изжил себя и необходимы серьезные изменения. Как теперь стало известно, работа по созданию нового алгоритма шла на протяжении последних двух лет.

«Мы начали думать, как нужно оптимизировать процесс, чтобы он был базой всех нужных нам гаджетов еще лет на десять, - продолжает Бёрк. – Можно было продолжать настраивать Dalvik, но мы решили, что лучшим решением будет начать все с чистого листа. Dalvik серьезно устарел, и последнее время мы работали над ним не слишком активно - проводили кое-какую оптимизацию, но не занимались настоящим преобразованием всей системы».

Вместо JIT-компилятора ART использует компилятор AOT («Ahead of Time», в переводе с английского – «опережая время»). Он работает как веб-браузер, который подкачивает страницы для того, чтобы они загружались быстрее. Он переводит байт-код в машинный код еще на этапе загрузки приложения на девайс, а не только во время запуска самой программы. Такой машинный код может занимать больше памяти, но зато приложения на нем «летают» и работают как никогда ровно.

Теперь Google уверена, что цель – вернуть процесс в состояние исключительной дееспособности – достигнута вместе с созданием Android Runtime. Для пользователя же это будет означать не так уж и много – приложения будут быстрее запускаться, работать быстрее, повысится качество графики. Из минусов отмечают более долгий процесс закачки приложений и некоторый период «притирки» разработчиков к новой среде.

Представители Google подчеркивают, что система находится в экспериментальной версии и в настоящее время проходит финальную стадию оптимизации. «ART можно называть Dalvik 2.0 – вторая, усовершенствованная версия», - поясняет Бёрк. Как официально сообщается в недрах сайта Google для разработчиков, ART – в версии системы 4.4 доступен экспериментальный вариант ART – своего рода «превью» уже работающей, но находящейся еще в процессе оптимизации системы. ART уже можно активировать в устройствах, работающих на Android 4.4, но для корректной работы системы пока необходимо оставить Dalvik в качестве основного процесса. Главным образом, нынешний запуск ART имеет значение только для разработчиков приложений и производителей оборудования.


По материалам: ReadWrite

Возврат к списку

<
© 2011-2023 Kompiki.ru