entity.getContent()和EntityUtils.tostring()之间有什么区别

时间:2014-06-11 02:17:17

标签: android json http inputstream

我只是想知道一个Android应用程序

建立http客户端并获取httpResponse后,有两种方法可以获取数据。第一个是response.getEntity()。getContent(),它返回一个输入流并使用inputstreamreader来读取数据,第二个是使用EntityUtils.toString(response.getEntity())直接获取数据。

有区别吗?哪种方式更受欢迎?

由于

1 个答案:

答案 0 :(得分:1)

response.getEntity().getContent()返回输入流 - 因此您可以读取来自服务器的数据 - 您不需要等待util在开始使用它之前收到所有数据(例如解析数据或渲染图像)。此外,在某些情况下,您不能(或出于性能原因不希望)同时将所有接收到的数据存储在内存中 - 在这种情况下,您也应该使用此变体。

但是如果您期望相对较短的字符串并且没有从InputStream中获益 - 您可以使用第二个变体(EntityUtils.toString(response.getEntity()))而没有任何缺点。