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, якщо у вас є таке бажання.