~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 7FA5651052547ED15260A665125F407C__1711363260 ✰
Заголовок документа оригинал.:
✰ Android Runtime - Wikipedia ✰
Заголовок документа перевод.:
✰ Среда выполнения Android — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Android_Runtime ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/7f/7c/7fa5651052547ed15260a665125f407c.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/7f/7c/7fa5651052547ed15260a665125f407c__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 06:38:57 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 25 March 2024, at 13:41 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Среда выполнения Android — Википедия Jump to content

Android-среда выполнения

Из Википедии, бесплатной энциклопедии

ИСКУССТВО
Разработчики) Google
Репозиторий андроид .googlesource /Платформа /искусство /
Написано в С , С++
Операционная система Андроид
Входит в комплект Андроид
Предшественник Далвик
Тип Среда выполнения
Лицензия Лицензия Апач 2.0 [1]
Веб-сайт источник .android /документы /основной /время выполнения  Edit this on Wikidata

Android Runtime ( ART приложений, ) — это среда выполнения используемая Android операционной системой . Заменяя Dalvik , виртуальную машину процесса , первоначально использовавшуюся в Android, ART выполняет перевод приложения байт-кода в собственные инструкции , которые позже выполняются средой выполнения устройства. [2]

Обзор [ править ]

Сравнение архитектур Dalvik и ART

В Android 2.2 «Froyo» в Dalvik была реализована JIT-компиляция на основе трассировки , оптимизирующая выполнение приложений за счет постоянного профилирования приложений при каждом их запуске и динамической компиляции часто выполняемых коротких сегментов их байт-кода в собственный машинный код . В то время как Dalvik интерпретирует остальную часть байт-кода приложения, собственное выполнение этих коротких сегментов байт-кода, называемых «трассами», обеспечивает значительное повышение производительности. [3] [4]

В отличие от Dalvik, ART использует предварительную компиляцию (AOT) путем компиляции целых приложений в собственный машинный код после их установки. Устраняя интерпретацию Dalvik и JIT-компиляцию на основе трассировки, ART повышает общую эффективность выполнения и снижает энергопотребление, что приводит к увеличению автономности аккумулятора на мобильных устройствах . В то же время ART обеспечивает более быстрое выполнение приложений, улучшенные механизмы распределения памяти и сборки мусора (GC), новые функции отладки приложений и более точное высокоуровневое профилирование приложений. [2] [5] [6]

Для обеспечения обратной совместимости ART использует тот же входной байт-код, что и Dalvik, предоставляемый через стандартные файлы .dex как часть файлов APK , в то время как файлы .odex заменяются исполняемыми файлами исполняемого и связываемого формата (ELF). После компиляции приложения с помощью встроенного в устройство ART утилита dex2oat , она запускается исключительно из скомпилированного исполняемого файла ELF; в результате ART устраняет различные накладные расходы на выполнение приложений, связанные с интерпретацией Dalvik и JIT-компиляцией на основе трассировки. Недостатком ART является то, что при установке приложения требуется дополнительное время для компиляции, а приложения занимают немного больше вторичной памяти (обычно флэш-памяти ) для хранения скомпилированного кода. [2] [5] [6]

История [ править ]

В Android 4.4 «KitKat» была представлена ​​предварительная версия технологии ART как альтернативной среды выполнения Dalvik, которая оставалась виртуальной машиной по умолчанию. [7] [8] В последующем основном выпуске Android, Android 5.0 «Lollipop» , Dalvik был полностью заменен на ART.

Android 7.0 «Nougat» сменил свою среду выполнения Java с прекращенной версии Apache Harmony на OpenJDK , представив JIT-компилятор с профилированием кода для ART, который позволяет постоянно улучшать производительность приложений Android во время их работы. [9] JIT-компилятор дополняет компилятор AOT компании ART, помогая повысить производительность во время выполнения и сэкономить место для хранения за счет определения «горячего кода» (кода, который часто используется, выполняется в потоке пользовательского интерфейса или влияет на время запуска), который компилятор AOT компилирует в машинный код, пока устройство находится в режиме ожидания и заряжается. Менее часто используемый код основан на JIT-компиляции. [10] [11]

В Android 9 «Pie» уменьшен объем памяти, используемой APK-файлами , за счет использования сжатых файлов байт-кода , а данные профилировщика можно загружать на серверы Google Play для объединения с приложениями при загрузке пользователями с аналогичным устройством, что сокращает время загрузки из Google Play. до 40%. Облачные профили Google Play позволяют оптимизировать приложения при установке, что помогает избежать первоначальных проблем с производительностью, присутствующих в Android 7.0–8.1. [12]

В июле 2021 года [13] была введена концепция базовых профилей. Базовые профили — это профили ART, которые определяют методы и классы, которые должны подвергаться компиляции AOT при первом запуске приложения и совместимы с Android 7.0 и более поздних версий. Они предоставляют функциональность, аналогичную облачным профилям Google Play в Android 9, когда они недоступны, и автоматически объединяются с облачными профилями, когда они доступны. [14]

ART был обновлен новым сборщиком мусора (GC), использующим Linux userfaultfd системный вызов в Android 13 . [15] [16] [17] Это уменьшает нагрузку на память, размер скомпилированного кода и количество ошибок , а также предотвращает риск закрытия приложений из-за нехватки памяти во время сборки мусора . [17] Другие изменения также улучшают запуск приложений, уменьшают количество зависаний и повышают производительность. [17] В рамках проекта Mainline также будет обновлен Android 12 ART. [15]

См. также [ править ]

Ссылки [ править ]

  1. ^ «ВНИМАНИЕ – платформа/искусство – Git в Google» . Архивировано из оригинала 4 марта 2023 года . Проверено 25 июня 2021 г.
  2. ^ Перейти обратно: а б с Андрей Фрумусану (1 июля 2014 г.). «Более пристальный взгляд на Android RunTime (ART) в Android L» . АнандТех . Архивировано из оригинала 5 июля 2014 года . Проверено 5 июля 2014 г.
  3. ^ Бен Ченг; Билл Бузби (май 2010 г.). «JIT-компилятор для Dalvik VM Android» (PDF) . android-app-developer.co.uk . Google . стр. 5–14. Архивировано из оригинала (PDF) 6 ноября 2015 года . Проверено 18 марта 2015 г.
  4. ^ Фил Никинсон (26 мая 2010 г.). «Разработчик Google Android объясняет больше о Dalvik и JIT во Froyo» . androidcentral.com . Архивировано из оригинала 8 апреля 2017 года . Проверено 8 июля 2014 г.
  5. ^ Перейти обратно: а б «Разработчики Android: ART и Dalvik» . источник.android.com . 9 марта 2015 года. Архивировано из оригинала 15 марта 2015 года . Проверено 18 марта 2015 г.
  6. ^ Перейти обратно: а б «Разработчики Android: настройка ART – как работает ART» . источник.android.com . 9 марта 2015 года . Проверено 18 марта 2015 г.
  7. ^ Шон Бакли (6 ноября 2013 г.). « Эксперимент «ART» в Android KitKat увеличивает время автономной работы и ускоряет работу приложений» . Engadget . Архивировано из оригинала 27 января 2017 года . Проверено 5 июля 2014 г.
  8. ^ Дэниел П. (7 ноября 2013 г.). «Экспериментальная среда выполнения Google ART в Android KitKat может обеспечить вдвое более быстрое выполнение приложений» . Phonearena.com . Архивировано из оригинала 7 июля 2014 года . Проверено 5 июля 2014 г.
  9. ^ «Android 7.0 для разработчиков» . Android-разработчики . Проверено 22 марта 2021 г.
  10. ^ Амадео, Рон (22 августа 2016 г.). «Обзор Android 7.0 Nougat: делайте больше на своем гигантском смартфоне» . Арс Техника . Проверено 5 апреля 2023 г.
  11. ^ «Реализация JIT-компилятора ART» . источник.android.com . 22 января 2017 года. Архивировано из оригинала 8 августа 2023 года . Проверено 22 января 2017 г.
  12. ^ Амадео, Рон (13 сентября 2018 г.). «Android 9 Pie, тщательно рассмотренный» . Арс Техника . Архивировано из оригинала 30 ноября 2018 года . Проверено 16 августа 2022 г.
  13. ^ «Установщик профиля | Джетпак» . Android-разработчики . Архивировано из оригинала 8 августа 2023 года . Проверено 5 июля 2023 г.
  14. ^ Семенова Катерина; Равикумар, Рахул; Крейк, Крис (28 января 2022 г.). «Улучшение производительности приложений с помощью базовых профилей» . Блог разработчиков Android . Архивировано из оригинала 8 августа 2023 года . Проверено 5 июля 2023 г.
  15. ^ Перейти обратно: а б Гидра, Локеш, Что нового в производительности приложения , заархивировано из оригинала 16 августа 2022 г. , получено 16 августа 2022 г.
  16. ^ Гидра, Локеш; Бём, Ханс-Дж.; Фернандес, Жоэл (12 октября 2020 г.). «Использование системного вызова Linux Userfaultfd на этапе сжатия процесса сборки мусора» . Серия оборонительных публикаций . Архивировано из оригинала 16 августа 2022 года . Проверено 16 августа 2022 г.
  17. ^ Перейти обратно: а б с «Android 13 находится в AOSP!» . Блог разработчиков Android . Архивировано из оригинала 15 августа 2022 года . Проверено 16 августа 2022 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 7FA5651052547ED15260A665125F407C__1711363260
URL1:https://en.wikipedia.org/wiki/Android_Runtime
Заголовок, (Title) документа по адресу, URL1:
Android Runtime - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)