Desenvolvendo aplicativos nativos

Click here to load reader

  • date post

    06-Jul-2015
  • Category

    Software

  • view

    273
  • download

    0

Embed Size (px)

description

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

Transcript of Desenvolvendo aplicativos nativos

  • 1. Desenvolvendo aplicativos nativos Exemplos, casos e conceitos David Tiago Conceio @davidtiagocon [email protected]

2. Android Crescimento sem precedentes Nmero de dispositivos Nmero de ativaes Nmero de aplicativos 3. Android Experincia de uso 4. Roteiro Conceito Android SDK Cdigo Java Recursos ImageView Adapters Informaes externas Servios externos 5. Performance Elemento da experincia de uso 6. Aumentar a Performance Diminuir o tempo que o usurio leva para alcanar seus objetivos 7. Performance Impacto direto na experincia de uso Aplicativos lentos Aplicativos pesados Aplicativos complexos 8. Android SDK 9. Android SDK Atualizaes Bibliotecas Build System 10. Android SDK Atualizaes Target 11. Android SDK Atualizaes Target 12. Android SDK Warnings Build Lint 13. Cdigo Java 14. Cdigo Java Cdigo eficiente 15. Cdigo Java Getters & Setters 16. Cdigo Java Iteraes Enhanced for 17. Cdigo Java Iteraes Limites 18. Cdigo Java Iteraes Limites 19. Cdigo Java Iteraes Limites 20. Cdigo Java Iteraes Limites 21. Cdigo Java Mtodos static 22. Cdigo Java Mtodos static Com cuidado 23. Cdigo Java Mitos 24. Cdigo Java Mitos Acesso aos membros Hierarquia de classes Enum 25. Cdigo Java Mitos Acesso aos membros Hierarquia de classes Enum Compilador JIT 26. Cdigo Java Estruturas de dados Tipos apropriados 27. Cdigo Java Estruturas de dados Tipos apropriados 28. Cdigo Java Estruturas de dados Tipos apropriados 29. Cdigo Java Estruturas de dados Inicializao de listas 30. Cdigo Java Estruturas de dados Cuidado com o autoboxing 31. Cdigo Java Builders StringBuilder 32. Cdigo Java Context Ateno aos vazamentos de memria 33. Cdigo Java Escopo de variveis 34. Cdigo Java Garbage collector Ateno especial Android 2.3 e anteriores 35. Cdigo Java Multitarefa 36. Cdigo Java Multitarefa 37. Cdigo Java Multitarefa 38. Cdigo Java Multitarefa 39. Cdigo Java Multitarefa 40. Cdigo Java Conhea as bibliotecas 41. Cdigo Java Conhea as bibliotecas 42. Recursos 43. Recursos Layouts 44. Recursos Layouts http://developer.android.com/training/improving-layouts/reusing-layouts.html 45. Recursos Layouts http://developer.android.com/training/improving-layouts/reusing-layouts.html 46. Recursos Layouts Maior profundidade = menor performance 47. Recursos Layouts 48. Recursos Layouts 49. Analisando layouts Perfil renderizao 50. Analisando layouts Perfil renderizao LinearLayout RelativeLayou t 51. Analisando layouts Overdraw 52. Analisando layouts Overdraw LinearLayout RelativeLayou t 53. Recursos Layouts Maior profundidade geralmente significa menor performance 54. ImageView 55. ImageView Bitmaps so pesados! 56. ImageView Bitmaps Ocupam muita memria 57. ImageView Bitmaps Ocupam muita memria 58. ImageView Bitmaps Ocupam muita memria 59. ImageView Bitmaps Ocupam muita memria 60. ImageView Exibio dinmica 61. ImageView Cache local 62. ImageView Cache em memria 63. Adapters 64. Adapters Reutilizar layouts Otimizao com ViewHolder 65. Adapters Reutilizar layouts Otimizao com ViewHolder 66. Adapters No sobrecarregue o getView! 67. Informaes externas Protocolos leves 68. Informaes externas Agilize a exibio Separando informaes bsicas das pesadas 69. Informaes externas Agilize a exibio Lazy loading 70. Informaes externas Agilize a exibio Cache 71. Servios Externos Localizao Fused Location Provider 72. Servios Externos Cuidado ao monitorar a localizao 73. Servios Externos Cuidado ao monitorar a localizao Tempo necessrio 74. Servios Externos Cuidado ao monitorar a localizao Tempo necessrio Prioridade 75. Servios Externos Cuidado ao monitorar a localizao Tempo necessrio Prioridade Substituio por geofencing 76. Servios Externos Reconhecimento de atividade 77. Servios Externos Reconhecimento de atividade Mudana de temporizadores 78. Servios Externos Reconhecimento de atividade Mudana de temporizadores Antecipao de aes 79. Servios Externos Push notifications Fuja do pooling! 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. David Tiago Conceio @davidtiagocon [email protected] facebook.com/davidtiagocon LinkedIn: David Tiago Conceio Obrigado!