i've got a background watchface that uses BLE every 5 minutes to communicate with a pi-like device. it works fine but i've noticed it uses the watch battery way faster than i think it should.
no matter whether i read 1 characteristic or 3 characteristics every 5 minutes, it uses about 3% battery per hour on a forerunner 645m (vs 0.4%/hour for a built-in basic watchface, or 1.5%/hour for a background watchface that uses communication webrequests every 5 minutes.)
then i tried disabling everything except "Ble.setScanState(Ble.SCAN_STATE_SCANNING)" and had it disable scanning and exit the background process immediately after the first scan return (onScanResults) and it still uses 3% battery per hour!
i've also tested on an Epix2 and see 0.8% battery per hour which is better but still seems a lot for an Epix2 (i haven't compared to a communications bg wf on Epix yet.)
i guess connect iq is just doing something extremely inefficient like leaving BLE radio fully enabled whenever an app uses it at all...is there anything else I can try that might reduce battery use for BLE?