You should be getting hours out of a phone with GPS and the screen on. It sounds like your phone battery is goosed, so it may be worth getting that replaced as a first step.
As someone previously mentioned phone “battery anxiety” is sorted with an external battery. You can get a cheap one for £10 but I’d recommend the “Topeak power pack”. It’s oddly expensive at £60 for a battery, but it velcros to the stem and is well made. So I think it’s worth the extra cash.
One of the counter arguments you hear about the using your phone is “I don’t want a dead phone in case of an emergency” but because my phone is hooked to a battery I finish all my rides with 100% charge. I often start the ride with less charge and finishes fully charged.
For the other stuff I recommend Wahoo or Topeakstuff. I have the Wahoo heart rate monitor, it’s excellent. I also have the Wahoo RFLKT. I really like the RFLKT, I use it to displays my stats and use my phone screen purely for maps. If you’re not navigating or using maps then this would solve your problems as with the screen off I can get 5 hours plus out of my iPhone.
Topeak also do something similar called “PanoComputer”. You can run it as a standalone computer or paired with your phone.
If it’s just cadence your want then I’s suggest the “Wahoo RPM”. It’s tinny and if you use different bikes you can attached it to your shoe or even just put it down your sock. I currently use a Topeak one. It fine but looks bulky next to the Wahoo.
The assumption with all of this is you have an iPhone and it supports Bluetooth 4.0
I feel like a pimp pushing this post…. but I put my experiences is this post and others have added useful titbits. I hope you find it useful.
https://www.cyclechat.net/threads/smart-phone-cycling-–-iphone-heavy.158364/