Alguém pode me confirmar o seguinte:
O ideal é ler os dados do RecordStore e mantê-los na memória para posterior acesso, doquê fazer repetidas chamadas a getRecord.
Explico:
Devido aos tipos diferentes de memória empregadas na fabricação dos celulares, dependendo da utilização que vai ser feita, caso queira-se performance deve-se usar a “RAM” do aparelho.
Veja:
:arrow: Memória não-volátil onde está gravada o software do celular, JVM: EEPROM (Não pode ser sobrescrita pelo usuário).
:arrow: Memória não-volátil onde o conteúdo do RMS fica armazenado: Flash ou SIM-Card (?) (Programável pelo aparelho, quando se faz um download, ou pela aplicação, quando se chama addRecord, por exemplo).
:arrow: Memória volátil usada para alocação de váriáveis/objetos da aplicação: memória comum (Programável quando se faz um simples i = 3).
Tempos atrás mudei a forma com que minha aplicação trabalhava e senti que agora que faço constantes chamadas ao RMS, o uso da memória ficou menor (pois não tenho atravessadores !), mas me parece que “ganhei” uma certa lentidão por chamada feita.
Antes, eu tinha uma cópia fiel do conteúdo do meu RecordStore em um Vector e me parecia mais rápido.
Acredito que a mesma regra que vale pro PC vale para o Celular, ou seja, existem memórias diferentes com tempos de acesso diferentes. Normalmente chamadas a BIOS (PC) são mais lentas do que chamadas feitas a rotinas em RAM.
É isto mesmo ou estou vendo coisas no caso do celular em específico ?
