Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gerenciamento de memoria

Minha palestra na Android Conference Brasil

  • Login to see the comments

  • Be the first to like this

Gerenciamento de memoria

  1. 1. Stefan Horochovec • Consultor Rich Internet Applications – Avanti Prima; • Instrutor: Adobe Flex e Java – RIACycle; • Instrutor: Android – RIACycle; • Espec. em Eng. de Software e Gestão de Projetos; • Autor: Oreilly, InsideRIA, iMasters; • Blog: http://www.horochovec.com.br • Twitter: http://twitter.com/horochovec
  2. 2. Agenda• Introdução;• Recursos SDK; – largeHeap; – CG; – Bitmaps;• Ferramentas de auxílio; – Logcat; – DDMS; – MAT;• Surpresa da RIACycle;• Perguntas;
  3. 3. INTRODUÇÃO
  4. 4. Gerenciamento de Memória Problema? Desafio?
  5. 5. Gerenciamento de Memória
  6. 6. Gerenciamento de Memória
  7. 7. Gerenciamento de Memória
  8. 8. Gerenciamento de MemóriaHTC Dream196mb
  9. 9. Gerenciamento de MemóriaMotorola Milestone256mb
  10. 10. Gerenciamento de MemóriaMotorola Milestone 2512mb
  11. 11. Gerenciamento de MemóriaSamsung Nexus1gb
  12. 12. Gerenciamento de MemóriaGalaxy Tab512mb
  13. 13. Gerenciamento de MemóriaGalaxy Tab 10.11gb
  14. 14. Gerenciamento de MemóriaTablet Wei Mini Tab256mb
  15. 15. Gerenciamento de Memória Nosso desafio é a diversidade de aparelhos disponíveis ao usuário
  16. 16. Gerenciamento de Memória Desafios são motivadores!
  17. 17. Gerenciamento de Memória 21 Milhões de usuários no Brasil usaram 3G em 2010
  18. 18. Gerenciamento de Memória21 Milhões – 34% usaram o navegador – 15% ouviram música – 66% usaram sms – 32% instalaram uma app
  19. 19. RECURSOS SDK
  20. 20. Gerenciamento de Memória android:largeHeap="true"
  21. 21. Gerenciamento de Memória Garbage Collector
  22. 22. Gerenciamento de Memória <= Froyo• Garbage Collector congela a aplicação;• Leitura de todo heap;• Tempo de parada maior que 100ms;
  23. 23. Gerenciamento de Memória >= Gingerbread• Garbage Collector processo concorrente;• Leitura parcial;• Tempo de parada menor que 5ms;
  24. 24. Gerenciamento de Memória Bitmaps
  25. 25. Gerenciamento de Memória < Honeycomb• Imagem armazenado em outro objeto;• Difícil de debugar: – Qualquer imagem tem o mesmo tamanho;• GC - recycle() (lento);
  26. 26. Gerenciamento de Memória > Honeycomb• Imagem armazenada na memoria do processo;• Fácil de debugar;• Garbage Collector processo concorrente;
  27. 27. FERRAMENTAS
  28. 28. Gerenciamento de Memória LOGS/LOGCAT
  29. 29. Gerenciamento de Memória• D/dalvikvm(1697): GC_EXPLICIT freed 209K, 37% free 5243K/8259K, external 0K/0K, paused 79ms• [Tipo] [Tamanho], [Estatisticas], [Estatisticas Externas], [Tempo]
  30. 30. Gerenciamento de Memória DDMS
  31. 31. Gerenciamento de Memória Eclipse Memory Analyser (MAT)
  32. 32. SURPRESA RIACYCLE
  33. 33. http://riacycle.com/pacotemobile
  34. 34. Código: ANDROIDSYS11http://riacycle.com/android
  35. 35. Referências• Google IO;• Android Dev Guide;• Android Reference;• Android Developers;• Eclipse Memory Analyser;• Nielsen;
  36. 36. Perguntas?
  37. 37. OBRIGADO

×