Mono для Android – Как это работает?

Я обнаружил, что приложения Xamarin запускаются в Mono runtinme на Android, и все передается Dalvik. Но я не могу понять, насколько возможно, что приложение работает в Mono, но нормальное приложение выполняется в Dalvik. Что отличает приложение Mono от Mono, а не Dalvik.

Как Моно может быть на том же уровне, что и Дальвик? Моно должно быть как-то сохранено в приложении, которое работает в Dalvik, я думаю.

Пожалуйста, объясните мне, как это возможно, и извините за мой плохой язык.

Архитектура

Приложение, разработанное xamarin, имеет время автономной работы, которое оно берет с собой на устройство. Приложение apk содержит промежуточный код .net, p-код, который, очевидно, не является Dalvik понятным.

Разработчики Xamarin.Android получают доступ к различным функциям операционной системы, вызывая в них API-интерфейсы .NET (для доступа на низкоуровневом уровне) или используя классы, открытые в пространствах имен Android, которые предоставляют мост для API Java, которые отображаются Dalvik.

http://docs.xamarin.com/guides/android/under_the_hood/architecture/, где вы можете найти более подробную информацию.