Dicas de desempenho - Android
Android
Dicas de Performance
Agenda
Dicas de Uso
Tipos de dados em Java
Proguard
Otimizações no SQLite
StringBuilder, StringBuffer e String
Collections
Amélia Pessoa
Não faça mais do que o necessário Amélia Pessoa
Não use memória se não há necessidade byte = inteiro com sinal (1 byte) short = inteiro com sinal (2 bytes) int = inteiro com sinal (4 bytes) long = inteiro com sinal (8 bytes) float = ponto flutuante (4 bytes) double = ponto flutuante (8 bytes) char = caractere (2 bytes) boolean = true ou false (1 bit)
String = Uma seqüência de caracteres
Amélia Pessoa
Conheça bem as bibliotecas
Amélia Pessoa
Evite métodos Getters e Setters
Amélia Pessoa
Proguard
# To enable ProGuard to shrink and obfuscate your code, uncomment this
(available properties: sdk.dir, user.home): proguard.config=proguard.cfg -optimizationpasses 5
-allowaccessmodification
-optimizations !code/simplification/arithmetic,!field/*,! class/merging/*,!code/allocation/variable -keepattributes *Annotation*
-keep
-keep
-keep
-keep
-keep
public public public public public
Amélia Pessoa
class class class class class
*
*
*
*
*
extends extends extends extends extends
android.app.Activity android.app.Application android.app.Service android.content.BroadcastReceiver android.content.ContentProvider
Utilize a sintaxe de loop for aprimorada public void loop1() { int soma = 0; for (int i = 0; i < testArray.length; ++i) { soma += testArray[i].valor;
}
} public void loop2() { int soma = 0;
Test [] localArray = testArray; int len = localArray.length; for (int i = 0; i < len; ++i) { soma += localArray[i].valor;
}
} public void loop3() { int soma = 0; for (Test a : testArray) { soma += a.valor;
}
}
Amélia Pessoa
Use o banco da melhor forma
Amélia Pessoa
Use indexes
CREATE TABLE mytable ( a TEXT PRIMARY KEY, -- index created b INTEGER, c TEXT UNIQUE
--