Tiago, blz?! Passei por esse problema tbm...rs.
Fácil resolver!
Você precisa usar uma única Transação para esse lote. Você verá que de 10 minutos vai cair para absurdamente alguns segundos!! :D
Só fazer assim:
getSession().runInTx(new Runnable() {
@Override
public void run() {
Dao.getSession(ctx).getCustomerDao.insertInTx(customers);
Dao.getSession(ctx).getProductDao.insertInTx(products);
}
});
o método runInTx() serve para criar uma única transação e tudo que estiver dentro irá pertencer a essa transação. Se não usar dessa forma, para cada Insert() terá uma transaction/commit por isso a demora é absurda!
Em 1 de novembro de 2013 20:29, Rudson Lima <rudsonlive@gmail.com> escreveu:
Tiago fala mais de como é o teu processo por que eu implemente no app da empresa uma importação de informações onde eu consumo um web service e trago cidades, bairros, logradouros, clientes e seus pagamentos...
Hoje fiz um teste com 708 clientes que me deu um total de 8.908 pagamentos. No teste eu utilizei um galaxy y e toda a importação durou 3 minutos. Achei um tempo bem aceitável....
Toda minha DAO utilizei o próprio sqlite tudo feito na não mesmo e ate agora não tive nenhum problema...
Já no nexus 4 não chegar nem a 1 minuto...
Para conexão uso o Ksoap2. Para tratar o json uso Gson....
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
سمووحخ ̷̴̐ خ ̷̴̐ خ ̷̴̐ خ امارتيخ ̷̴̐ خ
Analista-Programador
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
0 comentários:
Postar um comentário