Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] java.lang.OutOfMemoryError utilizando KSoap2

Não dá pra se firmar nessa opção, nem todos os sistemas possuem suporte, e cada fabricante/aparelho pode configurá-la da maneira que bem entender - resumindo, certamente existem diversos aparelhos onde o consumo ainda será excessivo e irá dar OutOfMemory. Como a galera recomendou, seria interessante se vc tivesse como paginar sua resposta em pedaços menores


PS: Tem um issue no site do ksoap semelhante , com respostas muito grandes, qual versao vc tá usando ?

https://code.google.com/p/ksoap2-android/issues/detail?id=137
Work-around feito pelo autor do issue acima, salvando o XML direto pra disco ao invés de salvar em memória antes do parsing.
http://stackoverflow.com/questions/4941581/very-large-soap-response-android-out-of-memory-error/12732396#12732396


Em sexta-feira, 5 de julho de 2013 09h02min17s UTC-3, Felipe Aron escreveu:
Encontrei uma solução interessante para o meu caso:


Aumento a memória heap do app (dalvik heap). Fiz os testes aqui e funcionou. Claro que como a própria documentação diz - não garante o aumento de memória uma vez que pode estar limitado a memória do aparelho.

Agora vou pesquisar, estudar e ver quais os impactos essa propriedade pode causar. Porém até o momento resolveu o problema! #FicaADica


Em 5 de julho de 2013 08:50, Marcelo Henrique <marce...@gmail.com> escreveu:
Seria Interessante dividir esse pacotão em pacotinhos


Em 5 de julho de 2013 08:02, Felipe Aron <felip...@gmail.com> escreveu:

É um "pacotao" JSON contendo todas as informações necessárias pro aplicativo, que no caso gira em torno de 40 mil registros.


Em 5 de julho de 2013 00:00, Eldio Santos Jr. <eldio...@gmail.com> escreveu:

Felipe, essas vezes que deu problema você estava buscando os mesmos dados?

Esse erro é característico de quando você guarda muita coisa em memória... Se for realmente isso talvez seja interessante você reduzir o volume de dados baixados por vez...

Em 04/07/2013 11:11, "Felipe Aron" <felip...@gmail.com> escreveu:
Galera, to usando o Ksoap2 pra fazer comunicação com webservice (.NET), até então tudo funcionando sem problemas.

Porém em algumas pouquíssimas vezes ocorreu um Exception de java.lang.OutOfMemoryError no KSoap. Estou enviando o log completo em anexo mas segue o trecho do problema:

07-04 10:25:18.340 E/AndroidRuntime( 8392): Caused by: java.lang.OutOfMemoryError
07-04 10:25:18.340 E/AndroidRuntime( 8392): at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:94)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:124)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at java.lang.StringBuilder.append(StringBuilder.java:271)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.kxml2.io.KXmlParser.readValue(KXmlParser.java:1338)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.kxml2.io.KXmlParser.next(KXmlParser.java:390)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.kxml2.io.KXmlParser.next(KXmlParser.java:310)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.serialization.SoapSerializationEnvelope.readUnknown(SoapSerializationEnvelope.java:241)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:389)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.serialization.SoapSerializationEnvelope.readUnknown(SoapSerializationEnvelope.java:273)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.serialization.SoapSerializationEnvelope.read(SoapSerializationEnvelope.java:389)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.serialization.SoapSerializationEnvelope.parseBody(SoapSerializationEnvelope.java:151)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:140)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.transport.Transport.parseResponse(Transport.java:118)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:253)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:116)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:111)
07-04 10:25:18.340 E/AndroidRuntime( 8392): at br.com.fsoft.tablet.interno.utils.WSBase.getResult(WSBase.java:126)


Alguém teve esse tipo de problema? Como contornar isso?



--
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-...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
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-...@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-...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
                                              - Marcelo Henrique -
  "Se não puder se destacar pelo talento, vença pelo esforço." (Dave Weinbaum)
              "Mate o pecado antes que ele o mate." ( Richard Baxter )

--
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-...@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.
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário