Dica de Otimização

Galera,

Na minha app. existe uma agenda de contatos. Porém para obter essa agenda eu chamo uma operação de um web service que me retorna os registros. Para não chamar essa operação toda hora, eu armazeno esses registros em um objeto LIST. Só que esse objeto carregado na memória fica muito pesado, deixando a app. muita lenta. São cerca de 6.500 registros.

Seria uma boa ideia eu criar um arquivo xml com esses registros em vez de ficar com essa lista carregada na memória o tempo todo? Ou vocês me sugerem alguma outra alternativa?

Obrigado!!!

Talvez guardar nessa List um ‘link’ para o objeto real, e quando solicitado buscar na fonte dos dados e trazer o objeto.

É o que o Hibernate faz.

[quote=Mark_Ameba]Talvez guardar nessa List um ‘link’ para o objeto real, e quando solicitado buscar na fonte dos dados e trazer o objeto.

É o que o Hibernate faz.[/quote]

Seria tipo um MAP? Poderia explicar melhor?

Eu nunca estudei direito como o Hibernate faz, mas sei que ele guarda no cache os dados para trazer o objeto correspondente no banco e quando voce precisar dos dados ele busca no banco, e só busca na primeira vez que voce precisar (Ou se for chamado o session.evict(object) para o objeto) .

Vou dar uma pesquisada aqui. Valeu!!!

O que o Hibernate faz que pode te ajudar é guardar em disco, um cache dos valores recuperados em query.
Verifique o framework EHCache, ele faz isso , e é usado pelo hibernate para o mesmo propósito.

[quote=marsilvarodrigues]O que o Hibernate faz que pode te ajudar é guardar em disco, um cache dos valores recuperados em query.
Verifique o framework EHCache, ele faz isso , e é usado pelo hibernate para o mesmo propósito.[/quote]

Ok, vou dar uma olhada neste framework.