Conceitos avançados e recursos internos

Esta seção contém tópicos que explicam a arquitetura, o design da API e as limitações do Xamarin.Android. Além disso, ele inclui tópicos que explicam sua implementação de coleta de lixo e os assemblies que estão disponíveis no Xamarin.Android. Como o Xamarin.Android é de software livre, também é possível entender o funcionamento interno do Xamarin.Android examinando seu código-fonte.

Arquitetura

Este artigo explica a arquitetura subjacente por trás de um aplicativo Xamarin.Android. Ele explica como os aplicativos Xamarin.Android são executados dentro de um ambiente de execução Mono junto com a Máquina Virtual de runtime do Android e explica conceitos importantes como Wrappers Callable do Android e Wrappers Callable Gerenciados.

API Design

Além das principais bibliotecas de classe base que fazem parte do Mono, o Xamarin.Android é fornecido com associações para várias APIs android para permitir que os desenvolvedores criem aplicativos Android nativos com Mono.

No núcleo do Xamarin.Android, há um mecanismo de interoperabilidade que une o mundo C# com o mundo Java e fornece aos desenvolvedores acesso às APIs Java do C# ou de outras linguagens .NET.

Assemblies

O Xamarin.Android é fornecido com vários assemblies. Assim como o Silverlight é um subconjunto estendido dos assemblies .NET da área de trabalho, o Xamarin.Android também é um subconjunto estendido de vários assemblies .NET do Silverlight e da área de trabalho.