ART или Dalvik на Android — что это такое, что лучше, как включить
Google представила новую среду выполнения приложений как часть обновления 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?
В Интернете есть уже множество различных сравнений работы 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. Для этого, зайдите в настройки устройства, перейдите в пункт «О телефоне» (О планшете) и несколько раз тапните по полю «Номер сборки», пока не увидите сообщение о том, что стали разработчиком.
После этого в настройках появится пункт «Для разработчиков», а там — «Выберите среду», где и следует установить ART вместо Dalvik, если у вас есть такое желание.
Николай
При переходе на ART перестали вылетать игры.
Ответить
Михаил
Николай, сейчас под ART приложения оптимизируют
Ответить
Юрий
как выйти с этого режима? включил ART андроид тв приставка перезагрузилась и надпись андроид зависла более 2х часов. выдёргивал питание, делал ресет, всё, хана ей?
Ответить
Dmitry
Здравствуйте. По хард-ресету точно должно отключаться. Как вариант — проблема в чем-то другом.
Ответить
Юрий
Она отключается, а включаешь, висит на заставке андроид. Перепрошил с утра, так и висела на этой надписи до перепрошивки. Пока искал как починить попался такой же как и я решивший включить ART (описывает на 4пда сайте) Так что пусть остальной народ будет предупреждён, видимо не все процессоры поддерживают такое
Ответить
Баден
Лол, решил трайнуть АРТ на своем g3s, аппарат перезагрузился и начал оптимизировать приложения. Оптимизировал 84 из 130, потом выбило сообщение, мол что-то крашнулось и места на внутреннем хранилище недостаточно.
Еще раз перезагрузился, оптимизировал 34 приложения и вернулся обратно на Dalvik к счастью!
Я думал он сейчас зависнет так навеки и придется тереть до заводских.
Ответить
Serj
Попробовал переключить с далвик на арт fly 4413 ево чик 3 , перезагрузился тел как обычно быстро и ничего больше не происходило, через антуту протестил арт-19788 далвик-19928, по быстродействию ничего не изменилось кажется или я был недостаточно бдителен. По скорости разрядки не пробовал. Ктот еще на таком флае тестил?
Ответить
Zyablik
Htc one mini 2 Переключился на Арт случайно, методом тыка, телефон сразу же начал перезагружаться. после анимации включения картинка подвисла минуты на 3, пытался выключить, жал на все боковые кнопки и уже было собрался паниковать, как началась оптимизация приложений. Мои напряженные ягодицы ослабли, я начал ждать. Спустя минут 10-15 после оптимизации загрузился главный экран. Я Сразу начал тыркать пальцем куда не поподя пытаясь искать каких либо изменений. Телефон с первых секунд заметно подвисал, но после первых двух минут перестал. Короче разницы пока не вижу и не понимаю. Да и вообще не знаю зачем всё это написал, на самом деле мне просто извините, что зря потратил ваше время
Ответить
Lest
Включил Art, телефон перезагрузился.. Начал оптимизировать приложения.. 139 и все удачно… Как только произошла полная загрузка телефон начал адски троить.. Виснит и как будт минутное залипание включено, мало того, сам некоторые функции включал… Вобщем еле обратно включил на davlik
Ответить
Алексей
переключил на ART убогую трубу fly iq4401.
Разницы в скорости не заметил, а вот разряжаться стал заметно быстрее.
Ответить
Алекс
Не знаю, для чего вы на телефонах переходите на арт, на них все равно пока ни чего видно не будет, в лучшем случае, у меня на планшете Тесла неон 8 есть прогр для разработчиков, я перешел спокойно, так же как и обычно планшет перезагрузила в штатном режиме, все работает в норме, даже видны не большие отличия, при выходе в интернет, работа происходит не значительно, но быстрее, игры многие да, перестали вылетать , а в остальном, зарядку держит примерно так же.
Ответить
Denis
Начнем с того, что аппарат lenovo s850, сделал заказ на root, встали отлично, но с dav телефон стал тормозом номер один, перешел art, изменения есть, нет лагов в работе, ужасных подвисаний.
Ответить
Жайсанбек
как выйти с этого режима? включил ART андроид смартфоне перезагрузилась и надпись андроид зависла более 6ти часов. выдёргивал питание не получается помогите
Ответить
Андрей Т.
На самом деле поддерживается режим не только на Снепдрагоне, у меня проц МТК и переключение на АРТ каких супер изменений не дал. Так что остался на Далвике.
Ответить
Dmitry
Ну статья писалась миллион лет назад уже. Так что да, сейчас и на MTK можно.
Ответить