droidtune.comsitemap
Android application/vnd.android.package-archive Приложение Android Android от А до Я: ART - новая среда выполнения приложений на Android 4.4 KitKat (замена Dalvik)

Android от А до Я: ART - новая среда выполнения приложений на Android 4.4 KitKat (замена Dalvik)


Android от А до Я: ART - новая среда выполнения приложений на Android 4.4 KitKat (замена Dalvik)

Ранее мы уже писали о том, что у виртуальной машины 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

ART новая среда выполнения приложений на Android 4.4 KitKat (замена Dalvik)

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

    Похожие публикации:

    • ЛЕОНИД БЕЛИКОВ

      спасибо. всё просто и понятно.

    • Тимофей.

      Вы знаете, что Art не поддерживает приватный режим на Samsung Galaxy S5 SM-G900F? Так ещё из-за этого г**на лагало непомерно! Они просто лгут!

      • Sasha Pohvalenskiy

        Это не из-за ART лагает, а из-за идиотского Самса.На нексусах все работает идеально.

        • Serega

          Поддерживаю. На нехусе 5 всё пашет как надо и время работы в стандартных для меня условиях возросло на час-полтора.
          Первый запуск после перехода реально длился минут 15.

          • Дмитрий Синицын

            Поддержива. На Нексусе 5 всё летает. У самса лагает всё из-за того что оболочка Тач Виз очень прожорливая.