What causes my Android phone to heat on low signal I have noticed that 3 of my Android phones heat on low signal (Nexus4, Xperia U, and HTC One) 40~50C. My friend has an iPhone and it doesn't seem to heat as much (30C).

So, why does this happen? Why does low signal drain my battery, and why does it heat too much?

Could it be solved by software? or is it a hardware problem?
Why?
When the phone signals are weak, the android OS constantly scan the area thoroughly. This requires more battery power. That's the reason your phone gets so hot when you are in areas with poor reception.
Could it be solved?
That is the reason it is advised to turn flight mode on when you are is low-signal areas to preserve your battery life.
Is it a hardware problem?
Yes. and that problem is common to all the android devices. So nothing to worry.
Why not iPhone?
For the comparison with iPhone, the specs of android device of each manufacturer varies from one another whereas it doesn't in apple deceives (Not everybody get to produce a device which can run iOS, thanks to the Apple Inc. patents.) As the android specs vary from device to device, it is highly likely that the battery performance will differ from device to device as well.