Lentidão ao ler arquivo xml do cartão de memória do tablet

Olá pessoal,

Eu tenho que ler um arquivo xml que se encontra no cartão de memória do tablet e jogar os dados em um bean e depois jogar esse bean em uma lista para depois percorrer a lista e persistir os beans na base de dados, até aí tudo bem, o problema é que a medida que o arquivo vai sendo lido, a leitura começa a ficar lenta demais, coloquei um log para imprimir os dados a medida que eles são lidos, o arquivo possui quase 100.000 linhas, essas 100.000 linhas totalizam aproximadamente 2.000 objetos (beans).

Quando eu inicio a leitura, o arquivo está sendo lido rápido, porém a velocidade da leitura vai caindo gradualmente, estou usando a biblioteca SAX para fazer a leitura.

Alguém sabe me dizer como solucionar esse problema de lentidão?

Não dá para persistir à medida que você vai lendo, em vez de fazer esse processo sequencial de jogar tudo em memória?

Leia um objeto monte a estrutura necessaria e persista o objto, e assim por diante, ficando menos objetos carregados em memoria.

retornando a tarefa…

Olá CristianPalmaSola10 e entanglement,

Fiz o que vocês sugeriram, mas não obtive sucesso (a lentidão continua).

Será que o ‘problema’ é o cartão de memória que é lento?

Eu fiz uma aplicação java usando os mesmos recursos.
O programa não demoro nem 10 segundos para ler milhares de registros no xml.

Pelo que parece a lentidao esta na leitura do arquivo que esta no cartão de memoria, diante de tal limitação de hardware acredito que naum tenha que seja possivel fazer

Estou no mato sem cachorro…
Vou contar um pouco do problema…

Eu estou migrando um sistema do fox pró, para o android.
O sistema do fox pró utiliza a base de dados SQL Server.
Os caras criaram uma função no fox que lê os dados do banco da aplicação e cria um xml para cada tabela dessa base de dados.
Minha missão é ler os dados desse xml e inserí-los no SQLite do Android.
A princípio o que eu tinha feito para ler esses xmls foi deixá-los no servidor da empresa e acessá-los via http, porém estava recebendo uns erros de stackOverFlow,
então resolvi mover os xmls para o cartão de memória e ler a partir dele, agora estou tendo esse problema de lentidão.

Alguém conhece um caminho mais fácil para resolver essa tarefa?
Porque no momemto eu não faço idéia.

Grato, Levi.

[quote=levimendes]Estou no mato sem cachorro…
Vou contar um pouco do problema…

Eu estou migrando um sistema do fox pró, para o android.
O sistema do fox pró utiliza a base de dados SQL Server.
Os caras criaram uma função no fox que lê os dados do banco da aplicação e cria um xml para cada tabela dessa base de dados.
Minha missão é ler os dados desse xml e inserí-los no SQLite do Android.
A princípio o que eu tinha feito para ler esses xmls foi deixá-los no servidor da empresa e acessá-los via http, porém estava recebendo uns erros de stackOverFlow,
então resolvi mover os xmls para o cartão de memória e ler a partir dele, agora estou tendo esse problema de lentidão.

Alguém conhece um caminho mais fácil para resolver essa tarefa?
Porque no momemto eu não faço idéia.

Grato, Levi.[/quote]

Pq não disponibilizar um WebService e ler paginadamente os dados?

Olá , j0nny

Eu nunca trabalhei com WebServices,

Quais os passos para implementar um?
Quais serão as vantagens de se usar?
O que eu devo estudar para implementar?

Grato, Levi.

[quote=levimendes]Olá , j0nny

Eu nunca trabalhei com WebServices,

Quais os passos para implementar um?
Quais serão as vantagens de se usar?
O que eu devo estudar para implementar?

Grato, Levi.
[/quote]

https://www.google.com.br/search?hl=pt-BR&sa=X&ei=wzoIUKKPEaKc2QXNq82xBA&ved=0CF8QvwUoAQ&q=web+service&spell=1

Você acha que eu não fiz isso espertão.

Eu só pedi a sua opinião porque pensei que você pudesse me dar uma visão geral dos caminhos a percorrer.

[quote=levimendes]Você acha que eu não fiz isso espertão.

Eu só pedi a sua opinião porque pensei que você pudesse me dar uma visão geral dos caminhos a percorrer.[/quote]

Respeito é bom e todo mundo gosta.
Continue com essa sua atitude anti-ética e anti-profissional que ngm mais do fórum vai querer de ajudar.

eu fui anti-ético…se olha no espelho

Suas respostas falam por sí só. Enfim, tentei ajudar e fui tratado com desrespeito, por isso, retiro-me do tópico.