ART ще бъде основната виртуална машина в следващата версия на Android OS

    Следващата версия на Android OS най-вероятно ще включва една голяма и доста основна промяна, която редовия потребител може и да не забележи толкова ясно.

    Google работят от известно време по заменянето на Dalvik виртуалната машина, която задвижва Android приложенията с нова, наречена ART. Тя присъства като опция за избор в Android 4.4 KitKat, но изглежда вече е напълно готова за своя официален дебют.

    По-рано тази година, ART стана основна в Android Open Source Project, а сега изглежда Google изцяло са премахнали Dalvik. Това означава, че вместо “just-in-time” (JIT) за компилиране на кода, ART ще използва “ahead-of-time” (AOT). С други думи, след като рестартирате смартфона си при следващия ъпдейт на Android, ще се наложи да почакате известно време, за да се компилират всичките Ви приложения. След това, вероятно някои от тях ще вървят по-бързо, а при някои няма да се усети разлика.

    ART е налична за тестване от няколко месеца и постепенно все повече приложения започват да поддържат новия фреймуърк.

    Вече сме обяснявали що е то Dalvik и що е то ART, но ще опитаме да обясним още веднъж и на разбираем език. Цитираме нашият главен редактор
    Николай Великов:

    Dalvik (JIT = Just-In-Time)

    Програмистите пишат програмите на език, който е логичен, но е трудно разбираем от чипсета. За да се изпълни командата от чипсета, тя трябва да бъде “преведена” на машинен език. Този “превод” (частичен или изцяло) се осъществява всеки път, когато стартирате дадено приложение. Недостатъкът в случая е, че това отнема време при стартиране на приложенията и то всеки път. В случай, че приложението което стартирате е голямо, най-вероятно ще се “преведе” само частта, от която то се нуждае, за да стартира и по време на употреба (игра) – ще се “превеждат” и други части. Това означава, че не само приложенията всеки път ще се стартират по-бавно, а и вътре в тях може да има забавяне (в случай, че се осъществява превод на части). Следствие на работата с Dalvik е, че понякога докато стартирате приложение и се наложи да се “превежда” нещо вътре в него – получава се леко забавяне. Това, отнесено към ежедневната употреба може да се отнася дори към стандартния Launcher. На практика, той е приложение и ако на началните екрани (т.е. в него) закачите няколко уиджета (малки части от други приложения) – това всъщност може да предизвика лек лаг, което да наруши потребителското изживяване.

    ART (AOT = Ahead-Of-Time)

    С новия подход, приложенията директно се инсталират на лесно разбираем за машините език. На практика, всяко приложение, което сваляте от Play Store например, се сваля в смартфона и се инсталира директно на лесно разбираемия за чипсета език. Размерът на приложенията като обем е малко по-голям (между 10% и 60%, според типа приложение), което автоматично заема повече място в смартфона Ви. Логично е – и самата инсталация да отнеме малко повече време. Все пак, имайте предвид, че разликата е минимална и особено при по-малките приложения, дори няма да я забележите. Предимството на ART пред Dalvik е, че се прескача “превода” при стартиране на всяко приложение, което на теория би довело до по-бързата работа на устройството. Тази разлика може да се усети дори сега, в ранния стадий на разработка на новата Runtime машина, при по-големите игри например.. Накрая, но не на последно място, липсата на “превод”, улеснява работата на процесора, което се отразява положително на батерията. Към момента разликите са много малки (в рамките на 3%-5%), но с времето и с по-тежките приложения, вероятно ще стават по-големи.

    Очакванията са, Google да премине изцяло към новата ART Runtime машина и когато това стане (вероятно при Nexus 6 или 7), се очаква да има доста по-сериозни разлики. Устройствата с Android ще работят по-бързо при стартиране на приложенията, ще са по-пестеливи на енергия и ще работят още по-гладко.