Desenvolvendo aplicativos nativos

457 visualizações

Publicada em

Slides da palestra apresentada no The Developer's Conference 2014 em Florianópolis, trilha Android

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

Sem downloads
Visualizações
Visualizações totais
457
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Desenvolvendo aplicativos nativos

  1. 1. Desenvolvendo aplicativos nativos Exemplos, casos e conceitos David Tiago Conceição @davidtiagocon davidtc.developer@gmail.com
  2. 2. Android Crescimento sem precedentes Número de dispositivos Número de ativações Número de aplicativos
  3. 3. Android Experiência de uso
  4. 4. Roteiro Conceito Android SDK Código Java Recursos ImageView Adapters Informações externas Serviços externos
  5. 5. Performance Elemento da experiência de uso
  6. 6. Aumentar a Performance Diminuir o tempo que o usuário leva para alcançar seus objetivos
  7. 7. Performance Impacto direto na experiência de uso Aplicativos lentos Aplicativos pesados Aplicativos complexos
  8. 8. Android SDK
  9. 9. Android SDK Atualizações Bibliotecas Build System
  10. 10. Android SDK Atualizações Target
  11. 11. Android SDK Atualizações Target
  12. 12. Android SDK Warnings Build Lint
  13. 13. Código Java
  14. 14. Código Java Código eficiente
  15. 15. Código Java Getters & Setters
  16. 16. Código Java Iterações Enhanced for
  17. 17. Código Java Iterações Limites
  18. 18. Código Java Iterações Limites
  19. 19. Código Java Iterações Limites
  20. 20. Código Java Iterações Limites
  21. 21. Código Java Métodos static
  22. 22. Código Java Métodos static Com cuidado
  23. 23. Código Java Mitos
  24. 24. Código Java Mitos Acesso aos membros Hierarquia de classes Enum
  25. 25. Código Java Mitos Acesso aos membros Hierarquia de classes Enum Compilador JIT
  26. 26. Código Java Estruturas de dados Tipos apropriados
  27. 27. Código Java Estruturas de dados Tipos apropriados
  28. 28. Código Java Estruturas de dados Tipos apropriados
  29. 29. Código Java Estruturas de dados Inicialização de listas
  30. 30. Código Java Estruturas de dados Cuidado com o autoboxing
  31. 31. Código Java Builders StringBuilder
  32. 32. Código Java Context Atenção aos vazamentos de memória
  33. 33. Código Java Escopo de variáveis
  34. 34. Código Java Garbage collector Atenção especial Android 2.3 e anteriores
  35. 35. Código Java Multitarefa
  36. 36. Código Java Multitarefa
  37. 37. Código Java Multitarefa
  38. 38. Código Java Multitarefa
  39. 39. Código Java Multitarefa
  40. 40. Código Java Conheça as bibliotecas
  41. 41. Código Java Conheça as bibliotecas
  42. 42. Recursos
  43. 43. Recursos Layouts <include> <merge>
  44. 44. Recursos Layouts <include> http://developer.android.com/training/improving-layouts/reusing-layouts.html
  45. 45. Recursos Layouts <include> http://developer.android.com/training/improving-layouts/reusing-layouts.html
  46. 46. Recursos Layouts Maior profundidade = menor performance
  47. 47. Recursos Layouts
  48. 48. Recursos Layouts
  49. 49. Analisando layouts Perfil renderização
  50. 50. Analisando layouts Perfil renderização LinearLayout RelativeLayou t
  51. 51. Analisando layouts Overdraw
  52. 52. Analisando layouts Overdraw LinearLayout RelativeLayou t
  53. 53. Recursos Layouts Maior profundidade geralmente significa menor performance
  54. 54. ImageView
  55. 55. ImageView Bitmaps são pesados!
  56. 56. ImageView Bitmaps Ocupam muita memória
  57. 57. ImageView Bitmaps Ocupam muita memória
  58. 58. ImageView Bitmaps Ocupam muita memória
  59. 59. ImageView Bitmaps Ocupam muita memória
  60. 60. ImageView Exibição dinâmica
  61. 61. ImageView Cache local
  62. 62. ImageView Cache em memória
  63. 63. Adapters
  64. 64. Adapters Reutilizar layouts Otimização com ViewHolder
  65. 65. Adapters Reutilizar layouts Otimização com ViewHolder
  66. 66. Adapters Não sobrecarregue o getView!
  67. 67. Informações externas Protocolos leves
  68. 68. Informações externas Agilize a exibição Separando informações básicas das pesadas
  69. 69. Informações externas Agilize a exibição Lazy loading
  70. 70. Informações externas Agilize a exibição Cache
  71. 71. Serviços Externos Localização Fused Location Provider
  72. 72. Serviços Externos Cuidado ao monitorar a localização
  73. 73. Serviços Externos Cuidado ao monitorar a localização Tempo necessário
  74. 74. Serviços Externos Cuidado ao monitorar a localização Tempo necessário Prioridade
  75. 75. Serviços Externos Cuidado ao monitorar a localização Tempo necessário Prioridade Substituição por geofencing
  76. 76. Serviços Externos Reconhecimento de atividade
  77. 77. Serviços Externos Reconhecimento de atividade Mudança de temporizadores
  78. 78. Serviços Externos Reconhecimento de atividade Mudança de temporizadores Antecipação de ações
  79. 79. Serviços Externos Push notifications Fuja do pooling!
  80. 80. Leitura Futura Sending Operations to Multiple Threads http://developer.android.com/training/multiple-threads/index.html Best Practices for Performance http://developer.android.com/training/best-performance.html Android Performance Case Study http://www.curious-creature.org/docs/android-performance-case-study-1.html Displaying Bitmaps Efficiently http://developer.android.com/training/displaying-bitmaps/index.html
  81. 81. David Tiago Conceição @davidtiagocon davidtc.developer@gmail.com facebook.com/davidtiagocon LinkedIn: David Tiago Conceição Obrigado!

×