Estou analisando o desenvolvimento de um sistema feito em j2me, ja fiz algumas coisas usando recordstore então conheço um pouco!
Mas como dessa vez vou replicar uma parte do banco de dados dentro do dispositivo, queria saber se existem padrões de uso para o RecordStore, melhores praticas.
Como são tabelas simples (codigo valor) estou pensando em armazenar a string no recordsotre e o codigo como chave, usando um para cada tabela!
Mas não sei se é uma boa pratica!
Estou mais ou menos com a mesma dúvida do nosso amigo acima. Temos que usar nossos modelos de classes (como num bom e velho modelo de cliente, pedido e produto) nesse tipo de desenvolvimento?
Até que ponto ficar instanciando objetos? Ou devemos estar sempre lendo um arquivo?
Descupa se perguntei muita bobagem :oops: , mas isso tudo é novo para mim.
Meu caso é o seguinte, em um pequeno projeto temos que fazer 4 consultas de 2 cadastros. Onde os dados para a consulta serão obtidos de CSV, e os cadastros também serão gravados nesses arquivos. Temos o modelo de classes que representa o “negócio” (Classes como Cliente, Produto, ItemPedido…).
O problema é que essas classes servem praticamente para representar os estados dos objetos (não fazem quase nada). Não sei se isso é fruto da própria ME, ou minha modelagem está furada, mas é algo realmente estranho e quase não se da para notar a utilidade da O.O.
Minha modelagem de classe não serve para nada?
Como isso seria num projeto maior?
O proprio objeto deve “saber” ler um arquivo, ou outro objeto de fazer isso por ele? :?
Faça um cálculo! Descubra quantos bytes seriam usados de memória caso todos (estime esse todos) os registros fossem gravados em memória. A performance seria bem maior, e muitas vezes a memória do celular aguenta.
Vou citar um exemplo. Fiz uma aplicação que devia manter aberta uma lista de no máximo 200 registros. O celular tinha um HeapSize de 512KB apenas. Minha aplicação usava no máximo, com imagens e tudo, 200KB. Isso me deixava com 300KB para manter dados em memória, e foi o bastante para os meus máximo de 200 registros.
Resultado: a aplicação ficou rápida, pois cada vez que iniciava, lia todos os dados do RecordStore em memória. Quando se alterava um registro, atualizava apenas aquele registro no RMS e na memória.