Меню

Что такое dalvik: Dalvik (software) — Wikipedia – 4PDA .:. Всё в порядке, но…

Содержание

ART или Dalvik на Android — что это такое, в чем отличие, что лучше

Хочу поделиться интересной новостью про новую функцию, появившуюся в Android 4.4, о которой на презентации и в появившихся после обзорах не было сказано — о новой среде выполнения приложений на мобильной ОС — ART, которая приходит на смену почтенному Dalvik. Потенциально это может сильно повысить производительность приложений, без необходимости в их перекомпиляции. Из минусов — большее время установки, больший занимаемый размер, возможно неработоспособность некоторых функций. Цель поста — донести до уважаемого сообщества доступные сведения и узнать про технологии больше. Пока удалось найти такую информацию на сайте Youhtc.ru » Последние несколько лет важной частью работы создателей Android стала борьба с главной врожденной «болезнью» системы — лагами в анимации интерфейса. Первым серьезным шагом в эту сторону стал Project Butter, анонсированный вместе с Android 4.1 Jelly Bean и действительно «ускоривший» систему, но не решивший проблему в корне. В Google это осознают, поэтому готовят ART — замену виртуальной машине Dalvik. Даже сейчас, в век многоядерных производительных процессоров, при определенном стечении обстоятельств можно заметить, что анимация в Android отрисовывается не идеально, а между некоторыми действиями есть видимые заминки. Проблема комплексная, потому для ее решения нужно было предпринять много шагов — в качестве одного из них решили сменить Dalvik на прекомпилятор ART. Сейчас Android-код выполняется в Java-машине, созданной Google специально для мобильных устройств, при этом он «на ходу» преобразуется в аппаратный (Just-In-Time Compilation). Такой механизм позволяет разработчику приложения практически не привязываться к конкретной архитектуре или «железу», но наносит серьезный урон производительности, нагружая процессор во время компиляции. Конечно, после первого самого «тормозного» запуска программы часть полученного «нативного» кода сохраняется в кеше, однако полностью проблему лагов это не решает. ART же представляет из себя AOT-компилятор (Ahead-Of-Time), который преобразует Java-код в «нативный» в процессе установки приложения. То есть пользователь запускает программу уже скомпилированной, что существенно ускоряет ее открытие и выполнение. Вдвойне интересно, что ART уже встроен в Android 4.4 KitKat и активировать его можно в меню разработчика. После переключения на libart.so (библиотека компилятора) устройство перезагружается и компилирует все уже установленные приложения. Ребята из Android Police, внимательно изучившие ART, утверждают, что на кастомных прошивках из AOSP этого делать пока не стоит — могут возникнуть проблемы с пакетом программ от Google. Даже учитывая неокончательное состояние ART, переход на него существенно влияет на скорость выполнения ресурсоемких задач и плавность работы интерфейса, а также позволяет многоядерным процессорам чаще отключать неиспользуемые ядра, что дает выигрыш во времени автономной работы устройства. Существуют у новой системы компиляции минусы, хотя их сложно назвать значительными: более продолжительное время установки и увеличение финального размера программы на 10-20%. Правда, растет размер лишь кодовой части, которая часто занимает менее половины приложения — мультимедиа (картинки, звук, видео) и другие данные своего размера не меняют. Оказывается, Google уже не первый год работают над ART и включение его в KitKat — абсолютно обдуманное решение, позволяющее создателям системы провести серьезное тестирование, а разработчикам приложений — подготовиться к грядущему «уходу» Dalvik. Пока не ясно, насколько на новый компилятор повлияли разработчики из FlexyCore, которых Google купили в октябре текущего года, но начинался проект внутри самого поискового гиганта. В Google пока не говорят, как скоро ART заменит Dalvik, однако ничего не мешает корпорации сделать это уже в следующей версии системы. Интересно, что как и Project Butter, компилятор не требует трудозатрат от разработчиков приложений — они все так же будут писать код на хорошо знакомом языке, используя отработанные практики. » У меня нет устройства на Android 4.4 чтобы самому попробовать новую технологию, но уже доступен образ системы от Google, который можно «пощупать» в эмуляторе. У меня остаются вопросы, будет ли эта функция доступна на других устройствах с Android 4.4 не от Google: Samsung, HTC и т.д. Все ли функции приложения будут корректно работать после перевода на новую платформу? Информации крайне мало, пишите, пожалуйста, в комментариях, где ее можно почерпнуть в бОльшем размере.

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, если у вас есть такое желание.

Новая уязвимость WhatsApp затронула все мобильные платформы

Вслед за проблемой с быстрым разрядом аккумулятора пользователи WhatsApp столкнулись с новой проблемой. Обнаруженная уязвимость популярного мессенджера способна привести к перегреву и отключению смартфона, а также дать хакерам контроль над устройством при запуске привычных мультимедийных файлов. Компания Faceboook уже признала наличие «дыры» в мобильном приложении для всех актуальных ОС и предложила свой вариант её исправления.

В 

далее

Google планирует перевести Android на стандартное ядро Linux

Мобильная операционная система Android использует специальную версию ядра Linux, которая подверглась ряду изменений со стороны производителей железа для смартфонов. Но вскоре ситуация может измениться: по заявлению представителей Google, компания планирует минимизировать разницу между Linux и Android, сделав популярную ОС ещё более универсальной.

В 

далее

Valve анонсировала новую Half-Life. Большинство геймеров не сможет в неё сыграть

Геймеры давно привыкли воспринимать слухи относительно продолжений Half-Life в штыки. С выхода последней части серии (Episode 2) прошло 12 лет, индустрия двинулась дальше. Кому нынче интересен Гордон Фримен и его друзья, казалось бы. Однако когда вчера по интернету поползли слухи о скором анонсе нового HL-проекта, фанаты привычно навострили уши. Как выяснилось, не зря: Valve действительно работает над игрой в легендарной вселенной. Правда, над не совсем обычной.

В 

далее

Исследователи космоса столкнулись с первыми проблемами от спутников Илона Маска

В начале ноября компания SpaceX вывела на орбиту сразу 60 новых интернет-спутников Starlink. Согласно предыдущим договорённостям, они должны быть оснащены специальным покрытием, которое делало бы их невидимыми для наземных телескопов. Как выяснилось, спутники не только лишены этого покрытия, но и стали гораздо ярче, сильно мешая наблюдениям за звёздным небом.

В 

далее

Илон Маск объяснился за разбитые «бронестёкла» Tesla Cybertruck

Презентация пикапа Tesla Cybertruck запомнилась зрителям не только концептуальным дизайном электрокара, но и разбившимися в ходе показательного тестирования «бронированными» стёклами. Глава автопроизводителя Илон Маск сразу пообещал, что компания исправит этот недочёт, а позднее объяснил причину произошедшего курьёза и опубликовал видео с опровержением заявлений о хрупкости конструкции автомобиля.

В 

далее

В новой версии Android появилось одно важное, хотя и не очень заметное, на первый взгляд, нововведение — появилась новая виртуальная машина ART. О том, что такое ART, виртуальная машина и почему она новая, рассказывается в англоязычном блоге Атиф Хана (Aatif Khan), запись из которого мы и решили перевести для вас. Отдельную благодарность за помощь выражаем Анжелу Божинову.

В современном мире технологий и аббревиатур уже никто не удивляется новым названиям и сокращениям. Однако существует проблема: обычные пользователи не всегда полностью осознают, чему же научился их гаджет после обновления. Разработчики редко радуют нас подробными описаниями нововведений и новых технологий, а найти какое-то понятное объяснение на официальном сайте удается крайне редко — в лучшем случае, пользователь обнаружит лишь краткое описание с еще большим количеством непонятных выражений.

Мы всегда стараемся помочь пользователям разобраться в новых устройствах и технологиях, поэтому было принято решение рассказать вам, нашим читателям, о технологии ART более подробно,а также провести ее небольшое сравнение с привычной виртуальной машиной Dalvik.

Что такое среда выполнения приложений (виртуальная машина)?

Обсуждение Dalvik и ART невозможно без понимания азов, поэтому сначала поговорим о виртуальной машине как таковой. Среда выполнения приложений — это набор инструкций, выполняемых для перевода кода приложения в код, понятный компьютеру. Виртуальная машина задействуется, даже не являясь частью основной программы. В целом, все «управляемые» компьютерные языки (Java в Android, С# в Windows Phone, ECMAScript в браузерах) требуют такую среду для понимания языка, на котором написано приложение.

Android использует виртуальную машину для выполнения DEX-файлов (аналог EXE в Windows), которые содержатся в APK-архиве Android-приложения. Существует сразу два преимущества такого решения. Во-первых, каждое приложение выполняется в системе, изолированной от ядра ОС, так что последнее чувствует себя более-менее в безопасности. Во-вторых, использование виртуальной машины открывает дорогу кросс-платформенным приложениями, то есть приложение может работать на ARM-смартфоне, MIPS-планшете или x86-компьютере.

Как известно, все это время в Android использовалась виртуальная машина Dalvik, с которой наверняка встречался каждый, кто хоть немного вникал в особенности ОС.

Зачем вообще использовать среду выполнения приложений?

На этот вопрос мы уже ответили выше. Бесспорно, использование виртуальной машины замедляет выполнение приложений, однако у нее есть несколько плюсов, которые склоняют выбор в ее пользу.

  • Виртуальная машина выполняет код стороннего приложения в изолированной среде. Следовательно, код, который может навредить ядру ОС, не сможет на прямую взаимодействовать с системными файлами, что защитит систему. Огромный плюс использования виртуальной машины — это более стабильная и надежная работа основной системы.
  • Через Google Play Store и другие источники разработчик распространяет APK-файл своей программы, который содержит нескомпилированные инструкции, которые перед выполнением «соберет» уже виртуальная машина. Такое решение обеспечивает большую совместимость; в противном случае, код, скомпилированный для устройств на базе Snapdragon, не сможет работать на Atom-аппаратах. Следовательно, виртуальная машина решает проблему с адресатом компиляции.

Что же такое Dalvik и в чем его проблема?

Вот и главный вопрос. Dalvik используется в Android с первой версии ОС, с 2007 года, а серьезное изменение за все это время было практически одно — появление в Froyo «компиляции на ходу», более известной как JIT. Главная ее особенность — приложение полностью компилируется при открытии или запуске пользователем соответствующих инструкций. Это очень полезное исправление, так как до 2.2 все приложения компилировались шаг за шагом, что уменьшало скорость работы; единственный минус такого решения — при старте программы на процессор идет серьезная нагрузка.

Во избежание дополнительной работы при повторном запуске программы, система собирает вместе все скомпилированные за время использования приложения инструкции и отправляет их в кэш, который хранится в файловой системе с расширением *.ODEX (Optimized Dalvik EXecutable). Как только вы во второй раз запустите приложение, Dalvik уже не будет заниматься компиляцией, а загрузит уже оптимизированные под ваше устройство данные в память. Однако вызов функции приложения, не использовавшейся ранее, приведет к новому компилированию инструкций. Если в этот момент система проводит стороннюю работу (например, прослушивание музыки или обновление приложений), то из-за перегрузки процессора и подсистем ввода/вывода у памяти можно пронаблюдать ощутимые рывки и тормоза. Вот тут и появляется ART.

Что такое ART и как он спасет мир?

ART, или Android RunTime (весьма кривое название) — это новая виртуальная машина, которую представила Google в Android 4.4, как один из инструментов разработчика (по умолчанию используется Dalvik). Главное отличие новой среды выполнения приложений — использование технология Ahead-Of-Time (AOT, «впереди времени»). ART компилирует все инструкции приложения еще до его запуска, в процессе установки. Возрастает время последней, а также объем постоянной памяти, занимаемый программой, однако виртуальная машина больше не занимается компилированием текущего приложения во время его исполнения, благодаря чему повышается комфорт при активном использовании многозадачности. Впрочем, желательно иметь большее количество оперативной памяти, так как ART загрузит в неё даже те инструкции приложения, которыми вы можете никогда и не воспользоваться.

Dalvik vs. ART

Давайте кратко сравним две виртуальные машины

ART пока эксперимент

Безусловно, в данный момент ART лишь тестируется и доступен только для устройств на версии Android 4.4 и чипсетах от Qualcomm. Однако вы можете уже сейчас переключиться с Dalvik на ART через скрытые инструменты разработчиков (меню открывается после нескольких тапов по номеру сборки в информации об устройстве). Заметим, что не все приложения смогут работать в ART без дополнительных обновлений; кстати, первый запуск в режиме ART может занять до 30 минут.

Google сделал ART доступным для разработчиков сейчас, создавая основу для последующего полного перехода на эту виртуальную машину в будущем. Это не значит, что ART стабилен уже сейчас. Это эксперимент и новая виртуальная машина может быть не готова для повседневного использования.

Отзывы о новой технологии смешанные. Пользователи флагманов с четырехъядерными процессорами и 2 Гб оперативной памяти могут по-настоящему оценить прирост скорости при переключении на ART. Некоторые отмечают 50% прирост в скорости устройства и 30% — в автономности; другие утверждают, что это лишь эффект плацебо.

По правде сказать, нельзя точно оценить влияние ART до выхода виртуальной машины из стадии тестирования и попадания в массы, поэтому споры о пользе и вреде новой технологии пока лучше отложить. Сейчас ясно лишь одно: за ART будущее. Google хочет использовать технологию AOT для борьбы с основным противником — iOS, и ART может серьезно улучшить Android. Неважно, насколько глупо называется виртуальная машина и как много приложений несовместимо с ней сегодня. Важно, что будет с ART завтра.

Версия Android 4.4 помимо расширенной функциональности, предлагает пользователям принципиально новый способ обработки данных. В предыдущих версиях компиляция файлов выполнялась в среде Dalvik. Это виртуальная машина Android, которая переводит зашифрованный файл в язык программирования, доступный считыванию процессором мобильного устройства. В новой версии СО для смартфонов, корпорацией Google используется среда выполнения ART, которая по уверению разработчиков обладает большей производительностью. ART или Dalvik? Попробуем разобраться в этой статье.

Cреда выполнения ART, с помощью которой вы сможете повысить производительность смартфона

Что такое компиляция?

Любое приложение, которое вы скачиваете на телефон или компьютер, написано на компьютерном языке. Учитывая, что гаджеты работают на разных платформах, существует виртуальная среда исполнения, которая дешифрует программу. Таким образом, процессор телефона, может прочитать файл, который вы используете. По сути, это виртуальный дисковод, обеспечивающий безопасность и производительность устройства. Вот основные преимущества, которые даёт среда исполнения:

  1. Код программы читается и открывается изолированно, не затрагивая платформу мобильного устройства. Поэтому вероятность «зацепить» вместе с файлом вредоносное ПО минимизируется.
  2. Приложения и программы, написанные для Android, компилируются непосредственно перед установкой. Такой подход облегчает жизнь программистам и пользователям. Разработчик не «затачивает» файл под определённый чипсет, соответственно приложения становятся универсальными.

В чём преимущество новой среды ART?

Инструменты ART и Dalvik выполняют схожие функции, поэтому выявить преимущества новой виртуальной машины можно лишь путём сравнения. Рассмотрим достоинства и недостатки каждой среды выполнения.

Среда выполнения Dalvik устанавливается с 2008 года. По сути, этот инструмент является ровесником операционной системы. Этот  инструмент использует способ компиляции файлов JUST IN TIME. Суть заключается в том, что преобразователь кода активируется вместе с запуском приложения. Недостаток такого способа компиляции заключается в повышенном потреблении ресурсов процессора при запуске программ. В результате некоторые используемые файлы откровенно тормозят или вылетают.

Частично решить проблему помогает кэширование декодированных данных. При каждом запуске файла, часть данных отправляется в кэш, что способствует повышению производительности.

Важно! При обновлении приложения кэш становится неактуальным, поэтому полностью избавиться от зависания приложений не получится!

ART в Android появился сравнительно недавно. В версии 4.4 новая среда проходила тестирование, а в Android 5.0 установлена по умолчанию. Разработчики учли ошибки предыдущей версии, поэтому работа новой среды выполнения заметно улучшилась. Например:

  • Изменился процесс компиляции. Виртуальное устройство работает по принципу AHEAD OF TIME. Расшифровка файлового кода происходит не в момент запуска, а в процессе установки. Это снижает потребление ресурсов оперативной памяти.
  • Стали поддерживаться 64-х битные ОС.
  • Виртуальная машина быстрее удаляет информационный мусор, соответственно зависания системы сведены к минимуму.

Среди выявленных недостатков выделяется следующее:

  • Приложения дольше устанавливаются.
  • Виртуальный инструмент занимает больше оперативной памяти.

Как активировать ART

Чтобы включить среду выполнения на мобильном устройстве, потребуется выполнить такую последовательность действий:

  • Переходим в меню настройки. На мобильных устройствах этот раздел изображён в виде иконки с шестерёнкой.

Рис.1 Перейдите в раздел «Настройки

«

  • Прокручиваем список вниз.
  • Заходим в раздел «О телефоне», находим графу «Номер сборки» и нажимаем несколько раз. Это откроет доступ к возможностям разработчика, и в меню настройки появится соответствующий пункт.

Рис.2 Несколько раз нажмите на графу «Номер сборки»

  • Переходим в раздел для разработчиков и нажимаем пункт «Среда выполнения». Здесь отмечаете использование ART.

Рис.3 В пункте «Среда выполнения» отмечаете использование ART

Важно: описанная процедура актуальна для Android 4.4 и старше. Если вы используете старую версию, то смартфон по умолчанию использует Delvik, соответственно пункт меню «Среда выполнения» отсутствует.

После активации виртуальной машины, мобильное устройство перезагрузится. Время перезагрузки напрямую зависит от количества установленных программ. Новая среда выполнения будет «перебивать» все коды приложений.

Что выбрать?

Учитывая, что среда Dalvik и ART практически идентичны, то отдать предпочтение одной из них довольно сложно. Наверное, всё зависит от мобильного устройства, которое вы используете.

ПОСМОТРЕТЬ ВИДЕО

Если позволяет объём памяти, лучше выбирать ART. Этот инструмент не перегружает процессор и быстрее работает с приложениями. Кроме того, это новая система, которая будет дорабатываться, и обрастать новыми возможностями.

Используемые источники:
  • https://m.habr.com/ru/post/201346/
  • https://remontka.pro/art-dalvik-android/
  • https://4pda.ru/2014/07/02/165542/
  • http://redroid.ru/art-vs-dalvik-tak-v-chem-zhe-raznitsa/
  • https://pcyk.ru/program/razbiraemsya-v-tonkostyax-programm-art-i-dalvik/

Что такое Dalvik Cache в смартфонах Android?

Что такое рекавери меню, вы уже наверняка знаете. Напомним, что специальный режим в смартфонах на базе Android, который позволяет совершать со смартфоном различные действия, включая сброс настроек или даже установку приложений. Один из пунктов меню рекавери может называться Dalvik Cache. Что это означает?

Вот один из примеров рекавери меню, где данный пункт называется несколько иначе — Wipe Dalvik/ART Cache:

Сути название пункта меню не меняет.

Dalvik cache — это промежуточный буфер с быстрым доступом с находящейся в нем информацией, которая может быть запрошена виртуальной машиной Dalvik. Говоря более простым языком, это временная компиляция кода приложения.

Что означает Wipe Dalvik Cache? Означает это удалить кэш Dalvik, то есть временные файлы кодов приложений, который могут занимать место в памяти смартфона. При этом беспокоиться об удалении фалов нет нужды, поскольку при необходимости они будут вновь созданы системой. Удалять Dalvik Cache обычно рекомендуют при возникновении некоторых проблем при работе смартфона.

Чтобы сделать вайп Dalvik Cache в рекавери TWRP, нужно открыть «Очистка».

Затем нажать «Выборочная очистка».

Поставить галочку напротив Dalvik/ART Cache и сделать свайп.

Теперь вы знаете, что означает Dalvik Cache.

Что такое Dalvik и dalvik-cache?

Я знаю, что это может быть основной вопрос в Android. Но что такое Дальвик и дальвик-кэш?

android dalvik

Поделиться Источник Android Killer     24 сентября 2011 в 19:15

3 Ответа



125

Dalvik-это виртуальная машина, используемая Android. Обычно он рассматривается как виртуальная машина Java, хотя это не совсем верно. Он использует объектную модель, которая идентична Java, и его модель памяти также почти эквивалентна. Но dalvik VM-это регистр на основе VM, в отличие от Java VMs, которые основаны на стеке.

Соответственно, он использует совершенно другой байт-код, чем Java. Однако Android SDK включает в себя инструмент dx для перевода байт-кода Java в байт-код dalvik, поэтому вы можете написать Android приложений в Java.

Когда вы говорите "dalvik-cache", я предполагаю, что вы имеете в виду каталог /data/dalvik-cache , который можно найти на типичных устройствах Android. Когда вы устанавливаете приложение на Android, оно выполняет некоторые модификации и оптимизации в файле dex этого приложения (файл, содержащий весь байт-код dalvik для приложения). Затем он кэширует полученный файл odex (optimized dex) в каталоге /data/dalvik-cache , так что ему не придется выполнять процесс оптимизации каждый раз, когда он загружает приложение.

good reference

Поделиться JesusFreke     24 сентября 2011 в 19:37



2

Dalvik-это виртуальная машина на базе java, которая запускает Android приложение на Android. Dalvik-cache - это область кэша для Dalvik VM, она создается, когда Dalvik VM оптимизирует ваше приложение для запуска.

Вы можете посмотреть больше в интернете о различиях между Dalvik VM op-codes и A "normal" Java VM Op-codes, если хотите.

Поделиться omermuhammed     24 сентября 2011 в 19:23



0

Кэши Dalvik - это не что иное, как временная компиляция кода приложения, хранящегося в виде исполняемых файлов. Поскольку они могут быть скомпилированы динамически из исходного кода приложения, находящегося вне кэша Dalvik, вы можете очистить кэш Dalvik без каких-либо реальных штрафов.

Поделиться user5065310     30 июня 2015 в 12:04



dalvik-кэш, предотвращающий создание файлов

Я пытаюсь изменить Dalvik VM, чтобы извлечь дополнительный файл в каталог dalvik-cache , когда файл dex извлекается JarFile.cpp . Проблема в том, что когда я использую функцию open() , я получаю...


Какие данные в дальвике-LinearAlloc, dalvik-aux-structure, dalvik-bitmap-1, dalvik-bitmap-2, dalvik-card-table, dalvik-mark-stack а дальвик-зигота?

Я использую команду showmap на PID, и я не могу понять эту часть отчета: 16384 3752 689 0 3132 0 620 4 /dev/ashmem/dalvik-LinearAlloc (deleted) 2460 1748 934 0 828 0 920 18...


Что такое Служба мониторинга отладки Dalvik?

Я в замешательстве DDMS. пожалуйста, кто-нибудь ответьте на следующие вопросы. что такое Служба мониторинга отладки Dalvik? почему это обязательно для Android SDK?


Набор инструкций и архитектура виртуальной машины Dalvik

Как виртуальная машина Dalvik сравнивается с реальной аппаратной платформой, такой как X86 или ARM? Сколько регистров делает Далвик есть? 8 как X86 16 как и большинство распространенных CPUs...


Стресс-Тестирование Android Dalvik

Я читал о Android dalvik, и мне было любопытно, как можно было бы пойти на стресс-тестирование Dalvik, чтобы оценить его стабильность. Я понимаю, что Dalvik предназначен для устройств с ограниченным...


Разница между Мостовой функцией Dalvik и вызовом собственной функции Dalvik?

В чем разница между Мостовой функцией Dalvik и вызовом собственной функции Dalvik в Android?


RS зависит от Dalvik?

Насколько Renderscript зависит от фреймворка Dalvik или ART? Я тестировал устройство с 4.4.2 работает ART и приложение продолжает сбой. Только позже я понял, что это было на ART и переключился...


оптимизированные типы dex в кэше dalvik

В /data/dalvik-cache мы нашли два формата (system and data), [email protected]@[email protected] и [email protected]@[email protected] Что они означают? Я имею в виду, что подразумевается под data и...


Android: javac vs Dalvik

Насколько я понимаю, Google не понравилась политика лицензирования Oracle для использования JRE в Java ME, поэтому он просто переписал ее он использует свою собственную спецификацию JVM, которая...


Как открыть Dalvik .dex файлы и получить байт-код Dalvik приложения из формата apk

Как я могу открыть Android .Декс файлы? Как получить байт-код приложения Dalvik из формата apk? Мне нужно применить какой-то алгоритм на байт-код виртуальной машины Dalvik приложения. Поэтому мне...


Что такое Dalvik и dalvik-cache? Oh! Android

Dalvik – это виртуальная машина, используемая Android. Обычно это считается виртуальной машиной Java, хотя это не совсем правильно. Он использует объектную модель, которая идентична Java, и ее модель памяти также почти эквивалентна. Но dalvik VM – это виртуальная машина на основе регистров, в отличие от виртуальных машин Java, которые основаны на стеке.

Соответственно, он использует совершенно другой байт-код, чем Java. Тем не менее, Android SDK включает в себя инструмент dx для перевода байт-кода Java в байт-код dalvik, поэтому вы можете писать приложения Android на Java.

Когда вы говорите « dalvik-cache », я предполагаю, что вы имеете в виду каталог / data / dalvik-cache, который можно найти на обычных устройствах Android. Когда вы устанавливаете приложение на Android, оно выполняет некоторые изменения и оптимизации в файле dex этого приложения (файл, который содержит все байт-коды dalvik для приложения). Затем он кэширует полученный файл odex ( оптимизированный dex ) в каталоге / data / dalvik-cache , так что ему не нужно выполнять процесс оптимизации каждый раз, когда он загружает приложение.

Dalvik – это виртуальная машина, основанная на Java, которая запускает Android-приложения на Android. Dalvik-cache – это область кэша для Dalvik VM, она создается, когда Dalvik VM оптимизирует ваше приложение для работы.

Вы можете посмотреть в Интернете больше о различиях между op-кодами Dalvik VM и «нормальными» Java-командами Java VM, если хотите.

Dalvik Caches – это не что иное, как временная компиляция кода приложения, хранящегося в качестве исполняемых файлов. Поскольку они могут быть скомпилированы динамически из исходного кода приложения, сидящего за пределами кэша Dalvik, вы можете очистить кэш Dalvik без какого-либо реального штрафа.

Dalvik – это программное обеспечение с открытым исходным кодом, первоначально написанное Дэн Борнштейном, который назвал его после рыбацкой деревни Дальвик в Эйяфьордуре, Исландия.

dalvik - Википедия

Материал из Википедии — свободной энциклопедии

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 6 декабря 2014; проверки требуют 9 правок. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 6 декабря 2014; проверки требуют 9 правок. Рыболовный порт Дальвик. Борнштейн назвал виртуальную машину именем места в Исландии, откуда происходит часть его предков[1].

Dalvik — регистровая виртуальная машина для выполнения программ, написанных на языке программирования Java, созданная группой разработчиков Google во главе с Дэном Борнштейном (англ. Dan Bornstein). Входит в мобильную операционную систему Android.

Dalvik оптимизирован для низкого потребления памяти, это нестандартная регистр-ориентированная виртуальная машина, хорошо подходящая для исполнения на процессорах RISC-архитектур, часто используемых в мобильных и встраиваемых устройствах, таких как коммуникаторы и планшетные компьютеры (большинство виртуальных машин, используемых в настольных системах, является стек-ориентированным, включая стандартную виртуальную машину Java, принадлежащую Oracle).

Программы для Dalvik пишутся на языке Java. Несмотря на это, стандартный байт-код Java не используется, вместо него Dalvik исполняет байт-код собственного формата. После компиляции исходных текстов программы на Java (при помощи javac) утилита dx из Android SDK преобразует файлы классов (расширение .class) в файлы собственного формата (с расширением .dex), которые и включаются в пакет приложения (.apk).

В версиях, начиная с Android 4.4 Kitkat, имеется возможность переключиться с Dalvik на более быстрый ART (Android Runtime). В Android 5.0 Dalvik был полностью заменён на ART.

Примечания[ | ]

Ссылки[ | ]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *