Performance de
aplicativos
Dicas, exemplos e conceitos
David Tiago Conceição
@davidtiagocon
#PerfAndroidTDC
More computing sins are committed in the name of
efficiency (without necessarily achieving it) than for any
other single r...
Ciclos de melhoria de performance
1. Reunir informações
2. Adquirir uma visão
3. Ações e ajustes
Android Performance - Uda...
Performance de renderização
● Novo quadro a cada 16ms
● “Skipped frame”
○ Visível no ADB Log
Performance de renderização
● Liberar a main thread
● Multithreading
○ AsyncTask
○ Handler
○ Thread
○ IntentService
Performance de renderização
● Programação reativa
● Event Buses
Performance de renderização
● Callbacks na main thread
Performance de renderização
Performance de renderização
● Operações de I/O
Performance de renderização
Medindo tempos
● Depuração GPU
Medindo tempos
Medindo tempos
Performance de renderização
● Overdraw
Overdraw
Overdraw
● Detectando
Overdraw
Overdraw
Overdraw
Overdraw
Overdraw
● Sobreposição de planos de fundo
● Hierarquia de layouts
Analisando layouts
● Hierarchy viewer
Analisando layouts
Analisando layouts
Analisando layouts
Analisando layouts
Memória
Android Performance - Udacity udacity.com/course/android-performance--ud825
Memória
Android Performance - Udacity udacity.com/course/android-performance--ud825
Memória
Memória
Memória
Memória
Memória
Memória
● LeakCanary
○ github.com/square/leakcanary
Memória e Imagens
● Conversão em bitmaps
Memória e Imagens
● 3264x2448
● 3,2MB
Memória e Imagens
Memória e Imagens
Memória e Imagens
Memória e Imagens
Memória e Imagens
Memória e Imagens
Memória
● Seja um bom cidadão
○ Ciclo de vida
○ onTrimMemory(level)
CPU Performance
CPU Performance
CPU Performance
Network Performance
● Antecipação de transferências
● Segmentação das transferências
Network Performance
● Formatos e protocolos enxutos
○ HTTP/2 e SPDY
○ WebP
Network Performance
● Libs
○ Volley
○ OkHTTP
○ Retrofit
OBRIGADO!
David Tiago Conceição
@davidtiagocon
davidtc.developer@gmail.com
#PerfAndroidTDC
Próximos SlideShares
Carregando em…5
×

Performance de aplicativos Android: Dicas, exemplos e conceitos

709 visualizações

Publicada em

Slides da minha palestra sobre de performance de aplicativos Android apresentada no The Developers Conferences 2015.

Publicada em: Software
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
709
No SlideShare
0
A partir de incorporações
0
Número de incorporações
39
Ações
Compartilhamentos
0
Downloads
11
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Performance de aplicativos Android: Dicas, exemplos e conceitos

  1. 1. Performance de aplicativos Dicas, exemplos e conceitos David Tiago Conceição @davidtiagocon #PerfAndroidTDC
  2. 2. More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason.... William A. Wulf Effective Java: Programming Language Guide Joshua Bloch - 2001 Otimização
  3. 3. Ciclos de melhoria de performance 1. Reunir informações 2. Adquirir uma visão 3. Ações e ajustes Android Performance - Udacity udacity.com/course/android-performance--ud825
  4. 4. Performance de renderização ● Novo quadro a cada 16ms ● “Skipped frame” ○ Visível no ADB Log
  5. 5. Performance de renderização ● Liberar a main thread ● Multithreading ○ AsyncTask ○ Handler ○ Thread ○ IntentService
  6. 6. Performance de renderização ● Programação reativa ● Event Buses
  7. 7. Performance de renderização ● Callbacks na main thread
  8. 8. Performance de renderização
  9. 9. Performance de renderização ● Operações de I/O
  10. 10. Performance de renderização
  11. 11. Medindo tempos ● Depuração GPU
  12. 12. Medindo tempos
  13. 13. Medindo tempos
  14. 14. Performance de renderização ● Overdraw
  15. 15. Overdraw
  16. 16. Overdraw ● Detectando
  17. 17. Overdraw
  18. 18. Overdraw
  19. 19. Overdraw
  20. 20. Overdraw
  21. 21. Overdraw ● Sobreposição de planos de fundo ● Hierarquia de layouts
  22. 22. Analisando layouts ● Hierarchy viewer
  23. 23. Analisando layouts
  24. 24. Analisando layouts
  25. 25. Analisando layouts
  26. 26. Analisando layouts
  27. 27. Memória Android Performance - Udacity udacity.com/course/android-performance--ud825
  28. 28. Memória Android Performance - Udacity udacity.com/course/android-performance--ud825
  29. 29. Memória
  30. 30. Memória
  31. 31. Memória
  32. 32. Memória
  33. 33. Memória
  34. 34. Memória ● LeakCanary ○ github.com/square/leakcanary
  35. 35. Memória e Imagens ● Conversão em bitmaps
  36. 36. Memória e Imagens ● 3264x2448 ● 3,2MB
  37. 37. Memória e Imagens
  38. 38. Memória e Imagens
  39. 39. Memória e Imagens
  40. 40. Memória e Imagens
  41. 41. Memória e Imagens
  42. 42. Memória e Imagens
  43. 43. Memória ● Seja um bom cidadão ○ Ciclo de vida ○ onTrimMemory(level)
  44. 44. CPU Performance
  45. 45. CPU Performance
  46. 46. CPU Performance
  47. 47. Network Performance ● Antecipação de transferências ● Segmentação das transferências
  48. 48. Network Performance ● Formatos e protocolos enxutos ○ HTTP/2 e SPDY ○ WebP
  49. 49. Network Performance ● Libs ○ Volley ○ OkHTTP ○ Retrofit
  50. 50. OBRIGADO! David Tiago Conceição @davidtiagocon davidtc.developer@gmail.com #PerfAndroidTDC

×