Intereting Posts
Вы должны сначала вызвать removeView () родителя ребенка с помощью AlertView «Android Asset Studio» добавляет дополнительное пространство, когда я загружаю свои значки .png, но не использует его внутренние клики. Зачем? Использование фильтров намерений с помощью широковещательных радиоприемников Android Обнаружить видимость мягкого ввода и высоту при использовании полноэкранного режима IllegalStateException: DialogFragment не может быть прикреплен к представлению контейнера – (в ActionBarActivity) Как изменить цвет фона кнопки переключения на Android Запись видео без предварительного просмотра Восстановить состояние после завершения процесса Android: потоки не работают параллельно Как использовать SearchView в панели инструментов Android Целевой хост не должен быть нулевым или задан в параметрах. Scheme = null, host = null Отключить прокрутку ListView при прокрутке ViewPager Перевод строк XML для Android Создание изображения с экрана просмотра в Android Не удалось запустить './qemu/windows-x86_64/qemu-system-i386.exe': нет такого файла или каталога

Почему существует отдельный экземпляр VM (Dalvik / ART) для каждого приложения на Android?

Как гласит название,
Почему существует отдельный экземпляр VM (Dalvik / ART) для каждого приложения на Android? (Необходимость в нем)

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

Solutions Collecting From Web of "Почему существует отдельный экземпляр VM (Dalvik / ART) для каждого приложения на Android?"

Существует много причин, по которым запуск нескольких приложений в одном процессе не работает; Вот два:

Зоны безопасности.

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

Отказоустойчивость.

Если процесс утечки памяти и сбоев, он вредит только себе.

Почему для каждого приложения есть отдельный экземпляр VM (Dalvik / ART) (необходимость в нем)

Это дизайнерское решение, и, на мой взгляд, сделано, чтобы сохранить его простым. Каждый процесс работает в собственном vm . Все ресурсы выделены этому процессу, а vm внутри не имеет возможности координировать доступ к ресурсам, например FileDescriptor s, I/O и т. Д. Я никогда не слышал о multiprocess vm (vm, который позволяет запускать несколько процессов в Это), но я нашел статью, в которой вы могли бы дать вам представление.