我在android中使用ksoap2
库来实现soap webservices。
现在,当要下载的数据很小(几kb / mb&s)时,这种方法很有效。
但是当响应很大时,它会在下面的loc之后给我OutOfMemoryError
HttpTransportSE.call(ACTION,SoapSerializationEnvelope);
我知道这是由于堆空间不足造成的。 我已阅读同一篇文章here。
但是可能还有其他一些方法,而不是自定义HttpTransportSE
类本身(参见上面的链接)。
下面是ss:
答案 0 :(得分:0)
两种帮助您解决此问题的策略:
- 在下载时将SOAP XML流直接保存到磁盘。不要将它存储在内存中。
- 使用SAX风格的解析器解析它,你不会将整个DOM加载到内存中,而是将其解析为块。