43 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Как включить ART на Android вместо Dalvik?

Уровень сложности: для продвинутых. В будущей версии Android, бета-версия которой сейчас выпущена для разработчиков под кодовым названием Android L, компания Google собирается окончательно сменить среду выполнения Android-приложений с Dalvik на ART. Главная разница между ними заключается в том, что в среде Dalvik программный код приложения преобразуется в пригодные для выполнения процессором команды (компилируется) каждый раз при запуске, а в среде ART компиляция происходит только один раз — при установке программы. Несмотря на то, что второй способ запуска программ требует немного больше памяти на внутреннем накопителе гаджета и замедляет процесс установки, в дальнейшем, несёт значительные преимущества для пользователя — приложения в среде ART запускаются и работают значительно быстрее, чем в среде Dalvik.

Другим преимуществом среды ART является возможность её использования вместе с 64-битными процессорами и приложениями, в то время как Dalvik поддерживает только 32-битные процессоры, что и сделало отказ от него неизбежным. Но довольно о теории. Несмотря на то, что полный переход на ART произойдёт только в Android L, попробовать возможности новой среды запуска приложений можно уже сейчас на смартфонах с установленным Android 4.4 KitKat, хотя и не всем об этом известно.

В версии Android 4.4 решение о поддержке ART принимает разработчик прошивки, поэтому, даже если ваше устройство работает на последней версии мобильной операционки от Google, инструкция, приведённая ниже, может и не сработать. Тем не менее, ART гарантированно можно включить на таких смартфонах, как Samsung Galaxy S5, HTC M8, LG G3, а также большинстве устройств с официальными или сторонними прошивками на базе AOSP.

Итак, чтобы активировать ART на вашем устройстве, необходимо:

  1. Открыть настройки и прокрутить список вниз (на некоторых гаджетах, возможно, придётся перейти на другую вкладку, например “все” или “общие”).
  2. Открыть раздел “Об устройстве” и семь раз нажать на пункт “Номер сборки”.
  3. После появления сообщения об успешном включении режима разработчика, вернуться в настройки и зайти в появившийся раздел.
  4. Выбрать пункт “Среда выполнения” и, тапнуть по пункту “Использовать ART”, после чего ещё раз подтвердить свои намерения во всплывающем окне.

После выполнения описанных действий ваше устройство перезагрузится, причём эта перезагрузка, в зависимости от количества установленных программ, может занять 10-20 минут, поскольку устройству потребуется перекомпилировать все приложения. Рекомендуем на это время подключить смартфон или планшет к зарядному устройству.

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

Разбираемся в тонкостях программ Art и Dalvik

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

Что такое компиляция?

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

  1. Код программы читается и открывается изолированно, не затрагивая платформу мобильного устройства. Поэтому вероятность «зацепить» вместе с файлом вредоносное ПО минимизируется.
  2. Приложения и программы, написанные для Android, компилируются непосредственно перед установкой. Такой подход облегчает жизнь программистам и пользователям. Разработчик не «затачивает» файл под определённый чипсет, соответственно приложения становятся универсальными.

В чём преимущество новой среды ART?

Инструменты ART и Dalvik выполняют схожие функции, поэтому выявить преимущества новой виртуальной машины можно лишь путём сравнения. Рассмотрим достоинства и недостатки каждой среды выполнения.

Среда выполнения Dalvik устанавливается с 2008 года. По сути, этот инструмент является ровесником операционной системы. Этот инструмент использует способ компиляции файлов JUST IN TIME. Суть заключается в том, что преобразователь кода активируется вместе с запуском приложения. Недостаток такого способа компиляции заключается в повышенном потреблении ресурсов процессора при запуске программ. В результате некоторые используемые файлы откровенно тормозят или вылетают.

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

Важно! При обновлении приложения кэш становится неактуальным, поэтому полностью избавиться от зависания приложений не получится!

ART в Android появился сравнительно недавно. В версии 4.4 новая среда проходила тестирование, а в Android 5.0 установлена по умолчанию. Разработчики учли ошибки предыдущей версии, поэтому работа новой среды выполнения заметно улучшилась. Например:

  • Изменился процесс компиляции. Виртуальное устройство работает по принципу AHEAD OF TIME. Расшифровка файлового кода происходит не в момент запуска, а в процессе установки. Это снижает потребление ресурсов оперативной памяти.
  • Стали поддерживаться 64-х битные ОС.
  • Виртуальная машина быстрее удаляет информационный мусор, соответственно зависания системы сведены к минимуму.

Среди выявленных недостатков выделяется следующее:

  • Приложения дольше устанавливаются.
  • Виртуальный инструмент занимает больше оперативной памяти.

Как активировать ART

Чтобы включить среду выполнения на мобильном устройстве, потребуется выполнить такую последовательность действий:

  • Переходим в меню настройки. На мобильных устройствах этот раздел изображён в виде иконки с шестерёнкой.

Как переключиться с Dalvik на ART в меню «Для разработчиков» на Android?

Перед ответом на вопрос: как включить среду выполнения приложений ART на Android, сначала выясним что это вообще такое. Итак, сама аббревиатура «ART» обозначает сочетание в себе двух английских слов: Android и Runtime. Другими словами, ART являет собой среду выполнения приложений, которая построена на языках программирования С и С++.

По мнению экспертов, именно недавно разработанный ART придет на смену привычному Dalvik. Новая программная оболочка (среда) способна обеспечить более быструю и комфортную работу приложений на Android. Чтобы долго не заморачиваться подведем итог: программная среда ART является более новой, продвинутой и перспективной относительно «старенькой» Dalvik.

Итак, для того чтобы активировать или переключиться с Dalvik на ART пользователю необходимо зайти в меню «Для разработчиков». Наверное, многие скажут: «Что такое меню для разработчиков и как его включить или отобразить?». Для того чтобы увидеть это меню необходимо зайти в «Настройки» смартфона или планшета.

Потом переходим в следующее меню — «О телефоне» и ищем пункт «Номер сборки». Теперь самое главное! Для активации или отображения меню «Для разработчиков» пользователю надо тяпнуть семь раз по этому пункту. Именно после этого у вашего аппарата, в общих настройках появится меню «Для разработчиков».

Далее переходим в новоявленную менюшку и ищем там подпунктик «Выберите среду». Тяпаем по этому делу и видим системное сообщение: «Среда выполнения: 1. Использовать Dalvik; 2. Использовать ART». Тяпаем по второму пункту и видим еще одно системное уведомление: «Перезагрузить устройство, чтобы сменить среду выполнения с libdvm.so на libart.so?». Выбираем «ОК».

Устройство начнет перезагружаться и начнет оптимизацию приложений под новую среду. Длительность процедуры зависит от количества установленных на гаджет приложений. У меня, например, установлено 126 приложений. Смарт обработал их примерно за 5 минут.

Читать еще:  USB Audio Player PRO 5.3.0 [Paid]

Все скрины и эсперименты проводились на Nexus 4 под Android 4.4.4. Если работа в новой системе ART вас чем-либо разочарует — вы всегда сможете вернуться к доброй и старой Dalvik.

С удовольствием отвечу на поставленные в комментариях вопросы. До встречи!

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

В новой версии 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 завтра.

Комментариев 7

  • Костя Хандога 14 февраля 2015

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

Читать еще:  Счетчик дембеля, как считаются дни в армии

Deaim Graterj 2 сентября 2015

Переключился на АРТ. Стабильней. Sony Xperia M2 lte. Droid 4.4.4 cyanogenmod 11

Ольга Moon 26 сентября 2015

После смены среды началась перезагрузка, и все время перезагружает и есть черный-серый фон и так и загружает рабочий фон, телефон M-HORSE прототип SUMSUNG

Сергѣй Райковскiй 13 октября 2015

Переключаю туда и обратно,перезагрузка проходит как обычно быстро,все работает одинаково в обоиx вариантаx,не плюсов не минусов не вижу…

Techinpost Community 23 декабря 2016

Good Day I Am So Happy I Found Your Website, I
Found You By Mistake, While I Was Searching On Aol For
Something Else, Anyhow I Am Here Now And Would Just Like To Say Many Thanks For
A Remarkable Post And An All Round Entertaining Blog
I Don’t Have Time To Read It, All At The Moment But I Have BookMarked It
And Also Added In Your RSS Feeds, So When I Have Time I Will Be Back To Read More,
Please Do Keep Up The Fantastic Job. You can also check; http://www.techinpost.com/fixed-windows-error-32-code-problem-permanently

Евгений Сорокин 18 марта 2017

У меня телефон HTC desire 526 g,я переключился на ART минут 15 ждал когда все перенастроится,и у меня все отлично работает,не лагает,все игры идут.и телефон быстрее начал работать.

    Andrewds Ds 4 сентября 2017

Аналогично, HTC desire 820g , не быстрее, а гораздо быстрее!

ART и Dalvik: Как оно работает

Внутри последней итерации операционной системы Android нашлось место для многих изменений и усовершенствований. Большинство из них сразу же бросается в глаза даже рядовому пользователю данной системы. Это, конечно же, установка в качестве стандартного месседжера приложения Hangouts, переделанное меню набора номеров и добавление клавиатуры Emoji. Бывалые же приверженцы Android наверняка ощутят прилив производительности в сравнении с более старыми ее релизами. Однако не обошлось и без скрытых сторон, которые, согласно логике, должны представлять интерес лишь для разработчиков. Впрочем, значимость одного из подобных нововведений особенно велика. Кроме того, вскоре оно коснется каждого из нас, а потому умолчать о его подробностях было бы просто преступлением.

Наверное, многие из вас хотя бы краем уха слышали о том, что в Android KitKat появился особый режим. Суть его заключается в более быстром запуске приложений и в более стабильном и плавном их выполнении. Возможно, попытки разобраться в данном вопросе самостоятельно не были увенчаны успехом. Оно и неудивительно: слова «виртуальная машина» и «компиляция» способны испугать кого-угодно, особенно, если информация потребляется из англоязычного источника. Для решения данной проблемы мы решили разобраться в сути вопроса самостоятельно, изложив его в максимально доступном виде.

Немного базовых понятий

Прежде чем ознакомиться с сутью нововведения, необходимо получить представление о некоторых деталях. Первая из них — среда выполнения приложений. Говоря простым языком, пресловутое понятие является сборником инструкций, которые выполняются во время работы того или иного приложения. Инструкции, в свою очередь, осуществляют перевод программного кода в код, который в состоянии запустить система. Соответственно, абсолютно все компьютерные языки нуждаются в определенной среде выполнения ради запуска приложений, написанных на них.

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

Почему именно виртуальные машины?

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

Второй плюс — кросплатформенность. Виртуальная машина сможет запустить приложение, даже если оно создано на PC.

Преимущества и недостатки Dalvik

Dalvik, как и все в этом мире, неидеальна. Причиной периодических подергиваний интерфейса является тип преобразования кода приложения в аппаратный. Данная машина проделывает это в прямом эфире, а называется такой тип компиляции Just-In-Time. Соответственно, предугадать появление багов практически невозможно, поскольку подобное может произойти в любой момент. Особенно велика вероятность подобного во время первого запуска, когда часть преобразованного кода даже не сохранена в кеше.

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

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

Исправить вышесказанное призвана новая виртуальная машина, которая успела отметиться далеко не самым замысловатым названием — Android Runtime. Или же сокращенно — ART.

Преимущества и недостатки ART

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

Наиболее заметным преимуществом ART является новый тип компиляции, который получил название Ahead-Of-Time. Читатели, знающие английский язык, наверняка сразу же догадались, в чем дело. А дело в том, что процесс преобразования кода в новой версии осуществляется до запуска приложения — еще во время установки. Соответственно, сразу же вырисовываются несколько минусов, о которых, справедливости ради, стоит упомянуть. Это, во-первых, более длительный процесс установки, а во-вторых, больший объем конечного размера приложения. Еще один недостаток является следствием незрелости ART: виртуальная машина на данный момент работает далеко не со всеми приложениями.

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

Переключиться на виртуальную машину ART в меню разработчика могут владельцы устройств под управлением Android 4.4 с процессором Snapdragon.

Развитие данной технологии имеет огромный потенциал. На карте стоит развенчание мифа о медлительности и нестабильности Android, что не только порадует владельцев устройств под ее управлением, но и ликвидирует наиболее серьезный аргумент в спорах со стороны приверженцев iOS.

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

Ох уж этот многострадальный Google Pixel 4a! Вроде и аппарат должен быть неплохой, и время для выхода выбрано максимально правильно, но что-то всегда не ладится. Сразу вспоминается зарядка AirPower, о которой весь Интернет гудел больше года и которая в итоге так и не вышла. Мне новый бюджетный Google Pixel интересен, но судя по последней информации, его придется еще немного подождать. Изначально он должен был появится на конференции Google I/O, после ее отмены заговорили про более ранний срок, потом про май, потом про июнь, теперь называются новые сроки. Но сколько же в итоге его можно ждать и появится ли он вообще? Ведь откладывать бесконечно нельзя, есть еще один фактор, который торопит команду создателей.

Читать еще:  Google Таблицы — скачать бесплатно Google Таблицы 1.7.502.01.32 для Android

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

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

12 комментариев Оставить свой

ART может и перспективный, но со стабильностью у него явные проблемы. Если телефон или планшет имеют deodex прошивку и кастомное recovery — лучше для улучшения производительности не ART включать, а поставить dalvic bionic patch.

во! в кои века нормальным языком описанная функция
правда теории больше чем практики, с какими популярными программами ART работает быстрее чем прошлый вариант?

ART вместо Dalvik: почему Android 4.4 «ест» меньше ресурсов

С выходом новых версий Android эта ОС требовала все больше и больше оперативной памяти (ОЗУ). Первые аппараты с ней имели 256 МБ ОЗУ, но сегодня одного гигабайта уже может оказаться недостаточно. Однако в Google взялись за оптимизацию и выпустили Android 4.4 KitKat. Эта версия операционной системы работает быстрее, но при этом требует меньше ресурсов. Подобное стало возможным благодаря переходу с системы Dalvik на ART. О том, что это такое и почему смартфоны с Android 4.4 и будут работать быстрее на слабых процессорах, читайте ниже.

Одной из причин популярности мобильной ОС Google стала сравнительная легкость разработки приложений для нее. Благодаря этому магазин программ Google Play быстро наполнился утилитами. Подобное стало возможно с помощью виртуальной машины Dalvik, которая преобразовывала код приложений в понятный процессору мобильника или планшета. Программисты пишут так, как им удобно, и им не нужно заботиться о том, какой чипсет стоит в гаджете пользователя: от Qualcomm, Intel, Mediatek, nVidia, Samsung или другого вендора.

Из-за того что код приложений на лету трансформируется в понятный «железу» гаджета, разработчикам очень удобно создавать свои программы. Но из-за этого посредника в виде виртуальной машины Dalvik процессору устройства приходится выполнять в несколько раз больше действий: считать код, трансформировать его в понятный аппаратной части, выполнить его и вывести результат на экран. Следствие такой архитектуры мог наблюдать практически каждый владелец Android-девайса в виде подтормаживающего интерфейса. Когда смартфон не нагружен играми и вычислениями, оперативная память свободна, но простое перелистывание экрана все равно вызывает секундную задержку.

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

Зачем Android нужна виртуальная машина

Любая программа использует множество стандартных действий: вывод изображения на экран, запись файлов в память, передачу файлов по Bluetooth или Wi-Fi. Чтобы облегчить программистам жизнь, операционная система имеет встроенные функции для выполнения этих заданий. Разработчику достаточно лишь в своем приложении указать «скопировать файл ХХХ на карту памяти в папку УУУ». Он не заботится о том, как это выполняется и сколько для этого требуется системных ресурсов.

Программисты также часто пишут «бракованные» программы, которые имеют ошибки в коде, «теряют» память и тому подобное. Виртуальная машина позволяет изолировать утилиты друг от друга и от ядра операционной системы. Благодаря этому крах приложения не оказывает влияния на ОС и другие запущенные программы. Без этого ошибка в утилите ведет к зависанию всей системы. Пользователи постарше могут помнить, как ошибки в прикладном ПО приводили к «синему экрану смерти» в настольных ОС Windows 95 и 98, которые не имели подобных механизмов виртуализации.

Файлы в формате APK, которые скачивает пользователь из Google Play Store или любого другого сервера, – это нескомпилированный код. Ни один компьютер не сможет его выполнить, так как просто «не поймет». Если бы утилиты поставлялись в уже скомпилированном и понятном «железу» виде, тогда часть из них работала бы, например, на устройствах с чипсетом Snapdragon, но выдавала бы ошибку при запуске на гаджетах с чипами Tegra.

Каждый производитель адаптирует Dalvik под свой процессор и аппаратное обеспечение. Благодаря этому одна и та же программа может работать на гаджетах практически любого производителя без правки ее исходного кода. И именно по этой причине нельзя просто взять и установить новую версию Android в устройство наподобие переустановки Windows.

Что такое Dalvik и почему он требует замены

Виртуальная машина Dalvik (названа в честь исландского рыболовного порта Дальвик) присутствует в Android от самого старта этой операционной системы в 2007 году. С тех пор она претерпела лишь одно крупное изменение: в Android 2.2 Froyo код из APK трансформировался в машинный код на лету сразу после запуска утилиты пользователем. Раньше он обрабатывался строчка за строчкой во время исполнения программы на мобильном устройстве. Новый подход позволил упростить запуск утилит и их работу, но это сказалось на требовании к аппаратным ресурсам. И сегодня уже одного гигабайта оперативной памяти может не хватать для быстрой работы мобильника.

Что такое ART и как она поможет Android

Виртуальная машина ART (расшифровывается как Android RunTime – среда исполнения программ Android) пока еще находится в экспериментальной стадии, но ее уже можно попробовать в Android 4.4 KitKat. Пользователи устройств с этой версией ОС могут переключиться с установленного по умолчанию Dalvik на ART.

Основное различие между этими виртуальными машинами – это подход к компиляции. Если Dalvik преобразует код в реальном времени сразу после запуска утилит, то ART делает это заблаговременно при установке. Это означает увеличение времени установки утилит и больший занимаемый объем в флеш-памяти устройства. Но это же означает и ускорение запуска и уменьшение требований к аппаратным ресурсам, особенно объему ОЗУ. Вот почему Android 4.4 KitKat, по словам Google, сможет быстро и стабильно работать на гаджетах с объемом оперативной памяти в 512 МБ. Новый подход к преобразованию кода позволит также уменьшить потребление заряда батареи.

Сравните объем одних и тех же программ при использовании Dalvik (слева) и ART (справа)

Dalvik против ART – сравнение

В целом виртуальная машина ART обещает много улучшений по сравнению с существующей Dalvik. Преимущества и недостатки каждой можно увидеть в таблице ниже:

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: