Otimizando a inicialização do App – Xamarin.Forms

Olá! O assunto de hoje é sobre inicialização do seu App.
Mas, antes de mais nada, vamos esclarecer uma coisa. Quando eu digo inicialização estou me referindo ao tempo em que leva desde o momento que o usuário clica no ícone do seu aplicativo até o momento em que é disponibilizada uma tela “utilizável”.
Em alguns casos pode parecer irrelevante o tempo que leva para inicializar o seu App, porém, se o aplicativo demora muito para inicializar isso pode causar uma “má primeira impressão”, fazendo com que o usuário perca o interesse pelo seu aplicativo.

Dessa forma, o post de hoje será para dar algumas dicas que podem melhorar o tempo de inicialização do seu App.

Ative a Compilação XAML

O XAML compiler (XAMLC) serve para compilar o Xaml para linguagem intermediária (IL) e adicioná-lo no assembly compilado, dessa forma, obtendo um resultado de inicialização mais rápido e melhor desempenho em tempo de execução.
O tamanho do seu aplicativo também fica menor, já que os arquivos .xaml não são incluídos no assembly.

Quando criamos uma aplicação Xamarin.Forms, por padrão o XAMLC vem desativado, para garantir a compatibilidade com as versões anteriores.
É possível habilitá-lo de duas formas, sendo elas no nível da aplicação ou no nível da classe.

Habilitando no nível de aplicação (afetará todo o seu App)

Habilitando no nível da classe (afetará apenas a classe)

Habilite a Compilação AOT no projeto Android

A compilação Ahead-of-Time (AOT) vai transformar o seu código de linguagem intermediária para a linguagem de maquina. As aplicações iOS por padrão já utilizam a compilação AOT, por isso irei demonstrar apenas como habilitar no projeto android.

Após habilitar a compilação AOT você irá obter uma melhoria imediata na inicialização, já que ocorre uma substituição da inicialização Just In Time (JIT) pela pré-compilação de montagem antes do tempo de execução.

O ponto negativo na habilitação do AOT é um aumento no tamanho do seu APK, então fique atento a isso.

Para habilitar o AOT, abra as propriedades do projeto, em “Android Options” marque a caixa AOT Compilation, como demonstrado na imagem a seguir.

AOTCompilation

 

Outra maneira para fazer isso é abrir o arquivo Android.csproj em um editor de texto e edite o AotAssemblies para true.

 

Essas foram algumas dicas para melhorar o tempo de inicialização do seu App, mas é preciso levar em consideração que o tempo de inicialização pode variar de acordo com o hardware utilizado, se o seu aplicativo precisa carregar informações da internet e entre outros fatores.

4 comentários em “Otimizando a inicialização do App – Xamarin.Forms

  1. Muito bom. Você poderia me indicar algum conteúdo que explique os dois processos de compilação(AOT e JIT) mostrando suas características/diferenças?

    Curtir

  2. Essa opção de AOT no meu vs2017 não aparece. Deve ter havido alguma mudança posterior à esse post. Sabe de algo ?

    Curtir

    1. Olá Marcelo, não.. ele continua no mesmo lugar.

      Porém, essa opção não está disponível para a versão Community do Visual Studio.

      Neste caso, edite o arquivo “NomedoSeuprojeto.android.csproj”

      procure a tag “PropertyGroup Condition=” ‘$(Configuration)|$(Platform)'”

      E adicione dentro dela a seguinte tag: AotAssemblies e o valor para true
      true

      isso irá resolver o seu problema.

      Abraço.

      Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s