Google отказывается от виртуальной машины Dalvik в Android

Компания Google решила отказаться от использования виртуальной машины Dalvik для запуска приложений в операционной системе Android. Вместо неё разработана более эффективная виртуальная машина под названием ART. С её помощью будет улучшена общая производительность операционной системы и приложений, а также уменьшено энергопотребление ОС.

Главным отличием ART от Dalvik является то, что при установке приложений ART сразу компилирует Java-код в машинный код (AOT-компиляция), тогда как Dalvik компилировал Java-код в свой байткод Dalvik, а после запуска программы компилировал его в машинный код в реальном времени (JIT-компиляция). Поэтому ART демонстрирует лучшую производительность и экономит энергию. Правда, это происходит за счёт увеличения используемого пространства и некоторого замедления инсталляции приложений.

Экспериментальная версия ART появилась в Android KitKat 4.4, а в будущем ART должен полностью заменить Dalvik. Скорее всего, это произойдёт с ближайшим крупным обновлением Android, считают независимые эксперты.

На смену среды выполнения программ указывают некоторые признаки, в том числе коммиты 98553 и 98618. В первом из них разработчики из Google прямо написали: «Dalvik мёртв, да здравствует Dalvik!».

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
pomidorium

Очень правильное решение. Помню, на Либератуме даже срач был на эту тему. Я тогда говорил, что Dalvik облегчает задачу программистам (написал один раз — работает везде) за счет владельцев девайсов, которые получают более чем заметное снижение производительности. Разве это справедливо, когда юзер покупает дорогущий 4-ядерный смартфон, а разницы с первым поколением одноядерных девайсов никакой? Все те же позорные примитивные приложения из прошлого века. Рад, что это недоразумение выкинули на помойку. Следующий шаг — выкидывание на помойку самого Андроида и программирование под конкретную архитектуру, с оптимизацией. ;)

Ваша оценка: Нет

Не программист, поэтому сразу возник вопрос, будут ли совместимы приложения для старых и новых Андроидов?
Конкретно: будут ли работать существующие приложения на грядущем Андроиде с ART, и будущие приложения эпохи ART на Андроидах 2.х — 4.х с Dalvik?
Ведь, если нет, то владельцы даже смартфонов "Samsung Galaxy S5" окажутся ущемлены.
Предположу, что такого не будет, так как это та же джава, или я ошибаюсь?

Ваша оценка: Нет
pomidorium

Конечно будут. Меняется лишь способ интерпретации байткода Джавы. Для пользователей и разработчиков этот процесс будет полностью прозрачным. Все заметят только прирост производительности и чуть более долгий процесс установки (хотя кого это волнует?).

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Texnoline

Dalvik, с самого начала был ущербной и громоздкой Ява-машиной и его байт-код пестрел такими перлами, что при декомпиляции становилось страшно, даже на заре Дроида, версии 1.5 — было ясно что выбор был плох и с самого начала «эмбрион не удался.." Что будет теперь с новой JVM посмотрим, увеличение места и времени инсталла...не недостаток как таковой, можно подождать 6 секунд лишних и потратить на 20 метров больше памяти...:), а затем получить ускорение в выполнении задач приложением, так что это нормально, «сначала думаем, а затем делаем».

Ваша оценка: Нет
Отправить комментарий
Яндекс.Метрика