I heard that it really hurts battery life. It's true?
Not necessary. On most Android devices, both HttpClient and HttpUrlConnection can support Keep-Alive , so if your HTTP server is configured correctly and you make requests in a fairly quick sequence, I would not expect a significant difference.
In an individual presentation, the client can receive files whenever he wants, whether he wants them.
If you mean that they may require them for a considerable period of time, this will not be able to use Keep-Alive . However, you may request fewer files in general and consume significantly less bandwidth. It is impossible to tell you, in an abstract form, what will be better for battery consumption.
Is the effect of battery life so great that it would be the right option to go beyond the bandwidth?
It will depend on how much you load, how often, etc.
However, IMHO, you are focusing on the wrong issue.
If you consume so much bandwidth that battery life bothers you, your users will attack you with forks and picks in order to cost them so much money on their measured data plan.
Therefore, I would use TrafficStats and try out various scenarios to see how many bandwidths you really use, and therefore, whether you need to look for ways to reduce bandwidth in general (for example, polling less often), so users are not bankrupt with your application. I suspect your batteries will take care of themselves as a side effect.
However, if in your testing you find that your application appears on the "Battery Charging" screen in the settings, then start worrying about battery consumption, whether from bandwidth or from other sources (for example, excessive use of WakeLocks ).