Art режим андроид – ART или Dalvik на Android — что это такое, в чем отличие, что лучше

alexxlab
alexxlab
06.06.201822.12.2019

ART или Dalvik на Android — что это такое, в чем отличие, что лучше

&nbsp мобильные устройства

Среды ART и DalvikGoogle представила новую среду выполнения приложений как часть обновления Android 4.4 KitKat. Теперь, помимо виртуальной машины Dalvik, на современных устройствах с процессорами Snapdragon появилась возможность выбрать среду ART. (Если вы попали на эту статью с целью узнать, как включить ART на Android, пролистайте ее к окончанию, там дана эта информация).

Что такое среда выполнения приложений и причем тут виртуальные машины? В Android, для выполнения приложений, которые вы скачиваете в виде файлов APK (и которые не являются компилированным кодом) используется виртуальная машина Dalvik (по умолчанию, на данный момент времени) и задачи по компиляции ложатся именно на нее.

В виртуальной машине Dalvik для компиляции приложений используется подход Just-In-Time (JIT), подразумевающий компиляцию непосредственно при запуске или же при определенных действиях пользователя. Это может приводить к долгому времени ожидания при запуске приложения, «тормозам», более интенсивному использованию RAM.

Основное отличие среды ART

ART (Android RunTime) — новая, пока еще экспериментальная виртуальная машина, представленная в Android 4.4 и включить ее пока можно лишь в параметрах разработчика (ниже будет показано, как это сделать).

Главное отличие ART от Dalvik — подход AOT (Ahead-Of-Time) при выполнении приложений, что в общих чертах означает предварительную компиляцию устанавливаемых приложений: таким образом, первоначальная установка приложения будет занимать более продолжительное время, они будут занимать больше места в хранилище Android устройства, однако их последующий запуск будет происходить быстрее (оно уже скомпилированно), а меньшее использование процессора и оперативной памяти в связи с необходимостью повторной компиляции может, в теории, приводить к меньшему потреблению энергии.

Как на самом деле и что лучше, ART или Dalvik?

Выбор ART или Dalvik на Nexus 5

В Интернете есть уже множество различных сравнений работы Android устройств в двух средах и результаты разнятся. Один из самых масштабных и подробных таких тестов выложен на androidpolice.com (англ.):

Суммируя результаты, можно сказать, что очевидных преимуществ на данный момент времени (нужно учитывать, что работа над ART продолжается, эта среда пока только на экспериментальной стадии) у ART нет: в некоторых тестах работа с использованием этой среды показывает лучшие результаты (особенно в том, что касается производительности, но не во всех ее аспектах), а в некоторых других особых преимуществ незаметно или же Dalvik впереди. Например, если говорить о времени автономной работы, то вопреки ожиданиям, Dalvik показывает практически равные результаты с ART.

Общий вывод большинства тестов — очевидной разницы при работе что с ART, что с Dalvik нет. Однако, новая среда и используемый в ней подход выглядят многообещающе и, возможно в Android 4.5 или Android 5 такая разница будет очевидна. (Более того, Google, возможно, сделает ART средой, используемой по умолчанию).

Еще пара моментов, на которые следует обратить внимание, если вы решите включить среду ART вместо Dalvik — некоторые приложения могут работать неправильно (или не работать вообще, например WhatsApp и Titanium Backup), а полная перезагрузка Android может занять 10-20 минут: то есть, если вы включили ART и после перезагрузки телефона или планшета он завис, ждите.

Как включить ART на Android

Для того, чтобы включить среду ART, вы должны иметь Android телефон или планшет с версией ОС 4.4.x и процессором Snapdragon, например, Nexus 5 или Nexus 7 2013.

Включение режима разработчика на Android

Сначала необходимо включить режим разработчика на Android. Для этого, зайдите в настройки устройства, перейдите в пункт «О телефоне» (О планшете) и несколько раз тапните по полю «Номер сборки», пока не увидите сообщение о том, что стали разработчиком.

Включить ART на Android

После этого в настройках появится пункт «Для разработчиков», а там — «Выберите среду», где и следует установить ART вместо Dalvik, если у вас есть такое желание.

А вдруг и это будет интересно:

remontka.pro

ART идет на смену Dalvik / Habr

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


Пока удалось найти такую информацию на сайте Youhtc.ru
«
Последние несколько лет важной частью работы создателей Android стала борьба с главной врожденной «болезнью» системы — лагами в анимации интерфейса. Первым серьезным шагом в эту сторону стал Project Butter, анонсированный вместе с Android 4.1 Jelly Bean и действительно «ускоривший» систему, но не решивший проблему в корне. В Google это осознают, поэтому готовят ART — замену виртуальной машине Dalvik.

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

Сейчас Android-код выполняется в Java-машине, созданной Google специально для мобильных устройств, при этом он «на ходу» преобразуется в аппаратный (Just-In-Time Compilation). Такой механизм позволяет разработчику приложения практически не привязываться к конкретной архитектуре или «железу», но наносит серьезный урон производительности, нагружая процессор во время компиляции. Конечно, после первого самого «тормозного» запуска программы часть полученного «нативного» кода сохраняется в кеше, однако полностью проблему лагов это не решает.

ART же представляет из себя AOT-компилятор (Ahead-Of-Time), который преобразует Java-код в «нативный» в процессе установки приложения. То есть пользователь запускает программу уже скомпилированной, что существенно ускоряет ее открытие и выполнение. Вдвойне интересно, что ART уже встроен в Android 4.4 KitKat и активировать его можно в меню разработчика. После переключения на libart.so (библиотека компилятора) устройство перезагружается и компилирует все уже установленные приложения. Ребята из Android Police, внимательно изучившие ART, утверждают, что на кастомных прошивках из AOSP этого делать пока не стоит — могут возникнуть проблемы с пакетом программ от Google.

Даже учитывая неокончательное состояние ART, переход на него существенно влияет на скорость выполнения ресурсоемких задач и плавность работы интерфейса, а также позволяет многоядерным процессорам чаще отключать неиспользуемые ядра, что дает выигрыш во времени автономной работы устройства. Существуют у новой системы компиляции минусы, хотя их сложно назвать значительными: более продолжительное время установки и увеличение финального размера программы на 10-20%. Правда, растет размер лишь кодовой части, которая часто занимает менее половины приложения — мультимедиа (картинки, звук, видео) и другие данные своего размера не меняют.

Оказывается, Google уже не первый год работают над ART и включение его в KitKat — абсолютно обдуманное решение, позволяющее создателям системы провести серьезное тестирование, а разработчикам приложений — подготовиться к грядущему «уходу» Dalvik. Пока не ясно, насколько на новый компилятор повлияли разработчики из FlexyCore, которых Google купили в октябре текущего года, но начинался проект внутри самого поискового гиганта.

В Google пока не говорят, как скоро ART заменит Dalvik, однако ничего не мешает корпорации сделать это уже в следующей версии системы. Интересно, что как и Project Butter, компилятор не требует трудозатрат от разработчиков приложений — они все так же будут писать код на хорошо знакомом языке, используя отработанные практики.
«

У меня нет устройства на Android 4.4 чтобы самому попробовать новую технологию, но уже доступен образ системы от Google, который можно «пощупать» в эмуляторе.

У меня остаются вопросы, будет ли эта функция доступна на других устройствах с Android 4.4 не от Google: Samsung, HTC и т.д. Все ли функции приложения будут корректно работать после перевода на новую платформу?

Информации крайне мало, пишите, пожалуйста, в комментариях, где ее можно почерпнуть в бОльшем размере.

habr.com

Детальный анализ Android RunTime (ART) в Android L — «Хакер»

На недавней конференции I/O компания Google официально огласила планы перехода в следующих версиях операционной системы Android на новую среду выполнения ART. Главным преимуществом ART перед Dalvik называли улучшенное энергопотребление.

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

Схема работы ART

ART полностью совместим с байткодом Dalvik, так что с точки зрения разработчиков ничего не изменилось: можно писать приложения такие же, как раньше. Новая среда при установке приложения создаёт исполняемый файл формата ELF с машинным кодом.

В ART значительно улучшена работа сборщика мусора, из-за постоянных включений которого раньше графический интерфейс «подтормаживал», замирая на доли секунды. Теперь паузы на сборку мусора сокращены практически до нуля: вместо десятков или сотен миллисекунд большинство операций сборщика мусора теперь завершается примерно за 1 миллисекунду или чуть больше.

Обычно, когда какая-нибудь компания внедряет функции для улучшенного энергопотребления, речь идёт о небольших оптимизациях. Время работы от аккумуляторов увеличивают на несколько процентов. В случае с Android L (новая версия Android, где работает ART и сделаны другие улучшения) всё обстоит современно иначе. Независимые тесты показывают, что у Nexus 5 после апгрейда ОС время работы увеличилось с 345 до 471 минуты, то есть на 36%! Тест включал в себя бесконечное обновление веб-страницы в браузере при включенном WiFi.

Правда, есть вероятность, что экономия настолько велика только в случае интенсивного использования смартфона/планшета, когда ART проявляет себя во всей красе. Если же смартфон ничего не делает с включенным дисплеем (например, в режиме чтения книги), то время работы от аккумулятора, наверное, не сильно изменится.

Заметная разница произошла в производительности приложений. Большинство программ демонстрируют прибавку в скорости 50-80%, а некоторые ускоряются в два-три раза.

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

xakep.ru

ART vs Dalvik — так в чем же разница?

7 Просмотров 94159 Главное

В новой версии Android появилось одно важное, хотя и не очень заметное, на первый взгляд, нововведение — появилась новая виртуальная машина ART. О том, что такое ART, виртуальная машина и почему она новая, рассказывается в англоязычном блоге Атиф Хана (Aatif Khan), запись из которого мы и решили перевести для вас. Отдельную благодарность за помощь выражаем Анжелу Божинову.


В современном мире технологий и аббревиатур уже никто не удивляется новым названиям и сокращениям. Однако существует проблема: обычные пользователи не всегда полностью осознают, чему же научился их гаджет после обновления. Разработчики редко радуют нас подробными описаниями нововведений и новых технологий, а найти какое-то понятное объяснение на официальном сайте удается крайне редко — в лучшем случае, пользователь обнаружит лишь краткое описание с еще большим количеством непонятных выражений.

Мы всегда стараемся помочь пользователям разобраться в новых устройствах и технологиях, поэтому было принято решение рассказать вам, нашим читателям, о технологии ART более подробно,а также провести ее небольшое сравнение с привычной виртуальной машиной Dalvik.

Что такое среда выполнения приложений (виртуальная машина)?

Обсуждение Dalvik и ART невозможно без понимания азов, поэтому сначала поговорим о виртуальной машине как таковой. Среда выполнения приложений — это набор инструкций, выполняемых для перевода кода приложения в код, понятный компьютеру. Виртуальная машина задействуется, даже не являясь частью основной программы. В целом, все «управляемые» компьютерные языки (Java в Android, С# в Windows Phone, ECMAScript в браузерах) требуют такую среду для понимания языка, на котором написано приложение.

Android использует виртуальную машину для выполнения DEX-файлов (аналог EXE в Windows), которые содержатся в APK-архиве Android-приложения. Существует сразу два преимущества такого решения. Во-первых, каждое приложение выполняется в системе, изолированной от ядра ОС, так что последнее чувствует себя более-менее в безопасности. Во-вторых, использование виртуальной машины открывает дорогу кросс-платформенным приложениями, то есть приложение может работать на ARM-смартфоне, MIPS-планшете или x86-компьютере.

Как известно, все это время в Android использовалась виртуальная машина Dalvik, с которой наверняка встречался каждый, кто хоть немного вникал в особенности ОС.

Зачем вообще использовать среду выполнения приложений?

На этот вопрос мы уже ответили выше. Бесспорно, использование виртуальной машины замедляет выполнение приложений, однако у нее есть несколько плюсов, которые склоняют выбор в ее пользу.

  • Виртуальная машина выполняет код стороннего приложения в изолированной среде. Следовательно, код, который может навредить ядру ОС, не сможет на прямую взаимодействовать с системными файлами, что защитит систему. Огромный плюс использования виртуальной машины — это более стабильная и надежная работа основной системы.
  • Через Google Play Store и другие источники разработчик распространяет APK-файл своей программы, который содержит нескомпилированные инструкции, которые перед выполнением «соберет» уже виртуальная машина. Такое решение обеспечивает большую совместимость; в противном случае, код, скомпилированный для устройств на базе Snapdragon, не сможет работать на Atom-аппаратах. Следовательно, виртуальная машина решает проблему с адресатом компиляции.

Что же такое Dalvik и в чем его проблема?

Вот и главный вопрос. Dalvik используется в Android с первой версии ОС, с 2007 года, а серьезное изменение за все это время было практически одно — появление в Froyo «компиляции на ходу», более известной как JIT. Главная ее особенность — приложение полностью компилируется при открытии или запуске пользователем соответствующих инструкций. Это очень полезное исправление, так как до 2.2 все приложения компилировались шаг за шагом, что уменьшало скорость работы; единственный минус такого решения — при старте программы на процессор идет серьезная нагрузка.

Во избежание дополнительной работы при повторном запуске программы, система собирает вместе все скомпилированные за время использования приложения инструкции и отправляет их в кэш, который хранится в файловой системе с расширением *.ODEX (Optimized Dalvik EXecutable). Как только вы во второй раз запустите приложение, Dalvik уже не будет заниматься компиляцией, а загрузит уже оптимизированные под ваше устройство данные в память. Однако вызов функции приложения, не использовавшейся ранее, приведет к новому компилированию инструкций. Если в этот момент система проводит стороннюю работу (например, прослушивание музыки или обновление приложений), то из-за перегрузки процессора и подсистем ввода/вывода у памяти можно пронаблюдать ощутимые рывки и тормоза. Вот тут и появляется ART.

Что такое ART и как он спасет мир?

ART, или Android RunTime (весьма кривое название) — это новая виртуальная машина, которую представила Google в Android 4.4, как один из инструментов разработчика (по умолчанию используется Dalvik). Главное отличие новой среды выполнения приложений — использование технология Ahead-Of-Time (AOT, «впереди времени»). ART компилирует все инструкции приложения еще до его запуска, в процессе установки. Возрастает время последней, а также объем постоянной памяти, занимаемый программой, однако виртуальная машина больше не занимается компилированием текущего приложения во время его исполнения, благодаря чему повышается комфорт при активном использовании многозадачности. Впрочем, желательно иметь большее количество оперативной памяти, так как ART загрузит в неё даже те инструкции приложения, которыми вы можете никогда и не воспользоваться.

Dalvik vs. ART

Давайте кратко сравним две виртуальные машины

ART пока эксперимент

Безусловно, в данный момент ART лишь тестируется и доступен только для устройств на версии Android 4.4 и чипсетах от Qualcomm. Однако вы можете уже сейчас переключиться с Dalvik на ART через скрытые инструменты разработчиков (меню открывается после нескольких тапов по номеру сборки в информации об устройстве). Заметим, что не все приложения смогут работать в ART без дополнительных обновлений; кстати, первый запуск в режиме ART может занять до 30 минут.

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

Отзывы о новой технологии смешанные. Пользователи флагманов с четырехъядерными процессорами и 2 Гб оперативной памяти могут по-настоящему оценить прирост скорости при переключении на ART. Некоторые отмечают 50% прирост в скорости устройства и 30% — в автономности; другие утверждают, что это лишь эффект плацебо.

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

redroid.ru

ART избавит Android от «тормозов»

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

Dalvik — виртуальная Java-машина, на ходу преобразующая код, на котором написано приложение, в исполняемый. Большая часть преобразований производится при первом запуске приложения, часть кода компилируется, сохраняется и используется в дальнейшем, но не весь. Именно поэтому операционная система Android более требовательна к системным ресурсам, чем iOS, Windows Phone и даже Windows.

ART компилирует нативный код только один раз — при установке приложения. В результате приложение занимает чуть больше места, но запускается и работает в разы или даже десятки раз быстрее.

Исполнение Java-скрипта

Исполнение Java-скрипта движками браузеров и на нативном уровне (оранжевый). Чем меньше значение, тем лучше.

Разработчикам, как и прежде, не нужно будет беспокоиться о совместимости их приложений и игр на устройствах с различной конфигурацией оборудования. Они смогут кодить на любимом языке программирования с использованием привычных движков. В этом смысле никаких изменений не будет.

ART — экспериментальный проект, и первыми его тестерами стали пользователи Nexus 5 на базе Android 4.4 KitKat. Они могут зайти в системные настройки для разработчиков и выбрать, какую среду выполнения использовать, старую — Dalvik или новую — ART. Включение ART в настройках

Пока ART справляется хорошо только с приложениями Google, корректная работа со сторонними приложениями не гарантирована. Например, мессенджер WhatsApp в среде ART не работает вовсе.

Среда ART интегрирована в Android 4.4 KitKat опционально, давать к ней доступ пользователям или нет, будет решать производитель устройства на этапе оптимизации прошивки. Не исключено, что к развитию ART подключена купленная Google в прошлом месяце компания FlexyCore, производитель DroidBooster. С какой версией Android эта среда полностью заменит Java-машину Dalvik, неизвестно.

www.iguides.ru

Проблемы среды выполнения ART на Android / Habr


Доброе время суток, хабражители,

Я являюсь обладателем Nexus 4 с Android 4.4.2 Kit Kat на борту. В новой версии Android была добавлена тестовая функция, среда выполнение ART.
На хабре об этом уже писали: ART идет на смену Dalvik. Я переключился на эту среду выполнения и нашел некоторые баги, о которых и хотел бы рассказать. Кому интересно, прошу под кат.

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

Баг №1


Не все приложения на моем устройстве с Play Market, у меня также установлены некоторые крякнутые игры, например The Room, и если некоторые приложения падали от лишнего прикосновения на экран или просто другой раз писали ошибку — я не обращал внимание. Ну это же Android, думал я, у него чаще падают проги, чем, например, в iOS. Хоть Google и делает стремительные шаги по решению этих проблем, но они все еще есть и их не мало. В итоге после установки крякнутого Navitel 8.7 (до этого я как-то пользовался Navital 5 и Navitel 7, мне просто хотелось иметь оффлайн навигатор, но потом у меня появился мобильный интернет, я перешел на Яндекс Навигатор и забыл про Navitel). Навител 8.7 падал при попытке найти здание по адресу: как только наживаешь на клавиатуру — приложение падает. Также Навител падал при попытке зайти в региональные настройки. Я пробовал ставить приложение с Play Market, но ошибка не исчезла. Я написал в службу поддержке и порылся с интернете. оказалось, что проблема была в среде выполнения ARM. Можно было бы подождать пока Навител исправит проблему или просто забить на этот навигатор, если бы не ощущение того, что не только Навител может падать на ART.

Баг №2


Я вожу авто и порой мне требуется BlueTooth гарнитура. У меня была одна простенькая гарнитура, но позже девушка подарила мне гарнитуру чуть получше (Jabra). Да, Китай, но мне важно было, что бы была зарядка microUSB, был индикатор батареи и показывало, что есть соединение. В общем, гарнитура как гарнитура и должна работать на всех устройствах без нареканий, но не тут-то было. Некоторые разговоры по гарнитуре проходили отлично, но в некоторых разговорах терялся сигнал. То есть я не слышал собеседника, а собеседник не слышал меня, при этом на Android устройстве звучал сигнал(пии-пии). Я не мог понять в чем дела, но с гарнитурой явно было все ОК. Я пробовал подключать на другие устройства. В итоге, когда вернулся к среде выполнения Dalvik, это проблема ушла.

Заключение


Вдруг у кого-то тоже возникали подобные проблемы, возможно, вам тоже поможет возвращение на Dalvik. В сети интернет ходят слухи об возможном обновлении Android 4.4.3, которое будет направлено убрать глюки предыдущей версии и, возможно, это, также, решит глюки с ART. Будем надеется и ждать. Если у вас были какие-то проблемы с ART, просьба написать в комментах, будем и дальше развивать эту тему.

Спасибо за внимание.

habr.com

ART – новая среда выполнения приложений на Android 4.4 KitKat (замена Dalvik) – Новости – DroidTune – Лучшee для Android и iOS

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

ART (аббревиатура термина «Android Runtime«) — это новая среда выполнения приложений, написанная на C/C++, которая отличается от существующей в Android виртуальной машины Dalvik тем, что все приложения в системе уже скомпилированы, а значит, потребность в JIT-компиляторе отпадает.

Таким образом, ART позволяет запускать приложения на разном железе (wiz. ARM,x86) без предварительной адаптации со стороны разработчиков. Помимо этого на запуск приложений в новых условиях уходит в два раза меньше времени. Не обошлось и без недостатков, один из которых связан с принципом работы в условиях ART. Данная среда приводит к тому, что вся необходимая информацию переводится в машинно-ориентированный язык еще во время установки приложений (AOT компиляция), а это требует дополнительного времени, из-за чего весь процесс установки очень сильно растягивается, а приложения занимают больше места, так как все время скомпилированы.

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

Settings -> Developer options -> Select runtime

Если вы такие решили протестить новую среду, то не стоит забывать, что первая загрузка может продлиться до 20 минут, а то и больше: системе потребуется много времени, чтобы перейти к новым принципам работы. Библиотека libdvm.so будут заменена на libart.so, а файлы ODEX на OAT. Последние можно найти здесь.

Отметьте себе, что переходить на ART в случае с кастомными ROM’ами не рекомендуется, так как может возникнуть проблема несочетания с текущей версией Gapps приложений, что приведет к ошибкам, вылетам системы и сделает работу на устройстве невозможной.

Так как в Android 4.4 KitKat мы имеем дело лишь с прототипом новой среда выполнения приложений, то делать выводы, исходя из теперешних практических результатов, слишком рано. ART еще абсолютно не оптимизирована, но уже можно говорить о том, что в новых условиях приложения будут шустрее, анимация станет более плавной, а реакция на прикосновение к тачскрину улучшится. Помимо этого ART сможет сократить нагрузку на процессор: для работы большинства процессов необходимо будет задействовать лишь часть ядер. Это приведет к более эффективному использованию ARM архитектуры big.LITTLE, а значит, энергопотребление Android устройств удастся сократить, а время работы — увеличить.

Фактически ART включает в себя два бекенд компилятора. Как первый, так и второй — это AOT (Ahead-of-Time) компиляторы, причем один из них используется для распознавания машинного кода и работы с GCC, cl.exe (LLVM компилятор).

Влияние на разработчиков

Как ни странно, но на создание приложений переход на ART не должен отразиться. Специфика новой среды такова, что ART читает байт-код для Dalvik, а значит, новые знания и умения добывать не придется. Работа будет осуществляться все с тем же Java байт-кодом. С другой стороны у AOT компиляции есть один недостаток: ошибки, возникающие на разном железе. В связи с этим разработчикам придется тестировать свои приложения на большем количестве Android устройств. При этом прекомпиляция позволит сократить возможный объем работы, а создавать приложения с ART можно будет на любом языке с LLVM фронтэндом. Отдельно стоит отметить доступ к машинному коду: у разработчиков будет больше возможностей, но в случае ошибки готовый продукт может нанести вред Android устройству. Последний важный момент связан с использованием JNI — стандартного механизма для запуска кода под управлением виртуальной машины Java, с которым связано обеспечение двоичной совместимости.

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

Заключение

Переход на ART приведет к тому, что производительность Android устройств возрастет, а количество лагов уменьшится. Пока мы видим лишь пробный вариант новой среды выполнения приложений, но это уже очень серьезный шаг навстречу новым изменениям. Как скоро переход будет осуществлен окончательно – пока не известно.

Основные недостатки Dalvik по сравнению с ART

  • Dalvik более медленная, как и другие виртуальные машины.
  • JIT компилятор — это дополнительный код, а значит, дополнительная головная боль для некоторых разработчиков.

Основные недостатки ART по сравнению с Dalvik

  • Увеличение объема приложений.
  • Увеличение времени установки

Android от А до Я: ART — новая среда выполнения приложений на Android 4.4 KitKat (замена Dalvik):
рейтинг 80 из 80 на основе 80 оценок.
Всего 80 отзывов.

droidtune.com

Разное

Отправить ответ

avatar
  Подписаться  
Уведомление о