Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Xamarin.Forms & Performance - TDC São Paulo 2017

Xamarin.Forms & Performance - TDC São Paulo 2017

Palestra realizada no TDC São Paulo 2017.

Ione Souza Junior

July 21, 2017
Tweet

More Decks by Ione Souza Junior

Other Decks in Technology

Transcript

  1. TABBED PAGE Sobreponha o método OnCurrentPageChanged e controle quando o

    conteúdo de cada aba deve aparecer Isso vai ajudar a carregar as abas de forma mais fluida
  2. MASTER DETAIL PAGE Um delay para esperar o menu lateral

    fechar pode ajudar a deixar o app mais fluído…
  3. CAROUSEL PAGE Evite utilizar Carousel Page Está em desenvolvimento o

    Carousel View https://www.nuget.org/packages/ Xamarin.Forms.CarouselView https://forums.xamarin.com/discussion/ 69120/carouselview-2-3-0-pre2
  4. BANCO DE DADOS Desnormalize o banco de dados Se usar

    SQLite, evite utilizar junções e sub-selects, prefira usar LINQ Query Entity Framework é pesado, mas existe uma versão mais leve, chama-se Entity Framework Core Conheça o Realm https://realm.io
  5. HTTP Use Native HttpMessageHandler Reutilize a instância do HttpClient Agrupe

    as chamadas da sua API Use GZIP sempre que possível Newtonsoft.Json >= 10 tem deserialização assíncrona :) Não leia o resultado do Http Request como string, leia como stream. Isso vai economizar um pouco de memória
  6. HTTP String Máximo Final #1 213,27 MB 162,61 MB #2

    206,33 MB 156,55 MB #3 207,13 MB 156,72 MB #4 206,73 MB 156,39 MB #5 206,89 MB 156,58 MB Consumo de memória
  7. HTTP Stream Máximo Final #1 187,82 MB 157,75 MB #2

    187,57 MB 158,10 MB #3 188,16 MB 158,52 MB #4 188,10 MB 169,46 MB #5 184,78 MB 159,05 MB Consumo de memória
  8. HTTP Stream Máximo Final #1 187,82 MB 157,75 MB #2

    187,57 MB 158,10 MB #3 188,16 MB 158,52 MB #4 188,10 MB 169,46 MB #5 184,78 MB 159,05 MB String Máximo Final #1 213,27 MB 162,61 MB #2 206,33 MB 156,55 MB #3 207,13 MB 156,72 MB #4 206,73 MB 156,39 MB #5 206,89 MB 156,58 MB Consumo de memória * Consumo de uma API local com 30 mil registros * Json ~10,6 MB
  9. POR QUE NO ANDROID É MAIS LENTO? Testes com compilação

    JIT e AOT no Android * Baseado em um app real * ABIs: armeabi-v7a, arm64-v8a, x86_64 e x86 * Link All Assemblies JIT AOT Tamanho APK 32,3 MB 83,4 MB Inicialização App ~6s ~3s
  10. ACHA QUE É MUITA PREOCUPAÇÃO COM ANDROID? *Média de 25%

    ainda possuem Android 4 * Apps do ramo da educação
  11. O FUTURO DO XAMARIN.FORMS Novas plataformas: macOS, Linux, WPF, Tizen…

    VAI DOMINAR O MUNDO! Fast Renderers Layout compression FlexLayout E muito mais….
  12. PERGUNTAS? Fale agora ou cale-se para sempre Ione Souza Junior

    Desenvolvedor Mobile @ Unimestre @ionixjunior