Android: Aplicações de Alto Impacto - GDG Maceió
1. Construindo aplicações de alto impacto: dicas de
otimização e performance
Fernando Oliveira | Mobile Applications Developer
NYX Knowledge
2. Fernando Oliveira
Web e Mobile Developer
Skills:
Desenvolvimento backend com Java, Ruby e Python
Desenvolvimento mobile nativo para Android e iOS
fernandooliveira@nyxk.com.br
nandooliveira.al@gmail.com
+FernandoOliveira3
12. Algumas dicas de UI
• Lazy Load
• Não impeça o usuário de fazer outras coisas
• User Spinners
• Se demorar mais que 200 milissegundos use um spinner
ou ProgressDialog
• Pixel (px) vs. Density-Independent Pixel (dp) vs. Scale-
Independent Pixel (sp)
13. Mais dicas de interface
• A altura da View deve ser de pelo menos 48dp. Espaço
aproximado ocupado por um dedo masculino;
• O espaçamento recomendado entre duas Views, por
exemplo um TextView e EditText, é de 8dp;
• Os tamanhos de fontes recomendados são 12sp, 14sp,
18sp e 22sp;
• Cores vermelhas e verdes podem ser indistinguíveis para
usuários daltônicos. Leve isto em consideração ao
planejar o design do seu app.
14. Regras básicas para
um código eficiente
1. Não faça algo que
você não precisa
fazer!
2. Não aloque memória
se você puder evitar
isso!
15. Evite criar objetos desnecessariamente
• Criação de objetos sempre tem um custo.
• Uma grande alocação de objetos acarreta uma maior
frequência de execução do Garbage Collector.
16. Evite criar objetos desnecessariamente
• Um Array de "ints" é muito melhor que um array de
“Integers"
• Dois arrays paralelos de “ints" também são bem mais
eficientes que um array (int, int).
• Essas regras valem para todos os tipos primitivos.
17. Evite getters e setters internamente
• Deve-se seguir os padrões de orientação a
objetos e ter getters e setters na interface
pública mas dentro da classe deve-se sempre
acessar os campos diretamente.
• Sem JIT acesso direto as variáveis é cerca de 3x
mais rápido que usar um método getter.
• Com JIT esse acesso pode ser até 7x mais
rápido.
22. Sempre mensure
• Antes de começar a otimizar
certifique-se de que você tem um
problema.
• Certifique-se de que é possível ter
uma medição eficaz da performance
atual, caso contrário você não
saberá se as medidas que você
tomou surtiram efeito.