Art і dalvik як воно працює

Я насолоджуюся вільним польотом. Моя пристрасть - міксери, тістоміси, грилі і інші елементи ресторанного обладнання. Можу продати, якщо потрібно. Якщо не потрібно, теж можу.

Art і dalvik як воно працює

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

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

Трохи базових понять

Перш ніж ознайомитися з суттю нововведення, необхідно отримати уявлення про деякі деталі. Перша з них - Виконавча додатків. Говорячи простою мовою, горезвісне поняття є збіркою інструкцій, які виконуються під час роботи того чи іншого додатка. Інструкції, в свою чергу, здійснюють переклад програмного коду в код, який в змозі запустити система. Відповідно, абсолютно все комп'ютерні мови потребують певному середовищі виконання заради запуску додатків, написаних на них.

Art і dalvik як воно працює

Чому саме віртуальні машини?

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

Другий плюс - кросплатформенних. Віртуальна машина зможе запустити додаток, навіть якщо вона створена на PC.

Переваги та недоліки Dalvik

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

Проблема повільності першого запуску, до речі, зовсім не випадкова. Подібне відбувається через те, що системі необхідно зібрати воєдино всі необхідні для запуску додатка файли і завантажити ними оперативну пам'ять. У конкретному випадку найбільше страждають пристрої з малою кількістю оперативної пам'яті, для яких процес завантаження загрожує якщо не вильотом додатки, то хоча б помітними затримками його виконання.

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

Art і dalvik як воно працює

Виправити вищесказане покликана нова віртуальна машина, яка встигла відзначитися далеко не самим хитромудрою назвою - Android Runtime. Або ж скорочено - ART.

Переваги та недоліки ART

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

Однак не поспішайте це робити. Спочатку необхідно ознайомитися з особливостями нової версії.

Найбільш помітною перевагою ART є новий тип компіляції, який отримав назву Ahead-Of-Time. Читачі, які знають англійську мову, напевно відразу ж здогадалися, в чому справа. А справа в тому, що процес перетворення коду в новій версії здійснюється до запуску додатка - ще під час установки. Відповідно, відразу ж вимальовуються кілька мінусів, про які, справедливості заради, варто згадати. Це, по-перше, більш тривалий процес установки, а по-друге, більший обсяг кінцевого розміру програми. Ще один недолік є наслідком незрілості ART: віртуальна машина на даний момент працює далеко не з усіма додатками.

Art і dalvik як воно працює

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

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

Розвиток даної технології має величезний потенціал. На карті стоїть розвінчання міфу про повільність і нестабільності Android, що не тільки порадує власників пристроїв під її управлінням, а й ліквідує найбільш серйозний аргумент в суперечках з боку прихильників iOS.

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

ART і Dalvik: Як воно працює Григорій Пасічник

Схожі статті