What is the purpose of consumeContent()
of class or org.apache.http.HttpEntity in Android?
When should one use it ane can it have side effects?
I\'m
As you can see in the javadoc, that method is deprecated. Don't use it. It's implementation-dependent. But it should be implemented as described:
This method is called to indicate that the content of this entity is no longer required. All entity implementations are expected to release all allocated resources as a result of this method invocation
Instead, you should be using EntityUtils.consume(HttpEntity)
which is implemented as such
public static void consume(final HttpEntity entity) throws IOException {
if (entity == null) {
return;
}
if (entity.isStreaming()) {
final InputStream instream = entity.getContent();
if (instream != null) {
instream.close();
}
}
}
It's simply closing the underlying InputStream
if necessary.
As @Sotirios suggested, HttpEntity.consumeContent() is deprecated so please use EntityUtils.consume(HttpEntity) when feasible.
Let's then broadly talk about consuming an HttpEntity
. Consuming an HttpEntity
ensures that all the resources allocated to this entity are deallocated. This means that:
When should one use it?
You should free connection resources the moment they are no longer needed. Consuming an HttpEntity
does exactly this for you.
Can it have side effects?
I am unaware of any side effects of consuming an HttpEntity
.