Battery drain from Audio app when not running

Hi,
So I've noticed this problem, which I suspect is coming from my app (an Audio provider).
Every now and then, especially when i've triggered the sync flow on it many times, the battery on my watch drains quickly (Fenix 7 Pro from 100% to 65% in ~4 hours with little usage, usually it lasts 7-9 days without activity)

I thus suspect it's related to my sync provider. I've ensured that I either wait for all Communications call to come back, or call cancelAllRequests before returning an error, but it still seems to happen.

I don't see anything other than communication requests somehow hanging around in the background being the cause for my app causing battery issues (it could ofc be a general firmware issue with music playing/bluetooth headsets that I happen to trigger occationally).

Should I just throw in a bunch of cancelAllRequests in various pieces of the code and see if it sorts it out, or does anyone have any other idea I can try to figure out what's going on?

To add, the problem usually goes away with a reboot.

  • add a print in the relevant callbacks of the main app class (onStart, onStop, etc) and see what happens after the sync. Which callback is called and which isn't...

  • I already did that, and as far as I can see, everything seems to work as expected in the sync. I threw in even more prints today and did some more testing.

    There is one thing that's standing out, and I think the pattern is that the battery drain happens when this happens:
    Every now and then when starting a sync, I get an immediate "Sync Failed", it might be that the wifi didn't connect or something?

    Anyway, during that, it doesn't even get as far as calling App::getSyncDelegate() (after I call Communications.requestSync2), it fails before it even gets into my app. I haven't verified for sure that is what's triggering the battery drain, but nothing else stands out, everything eventually leads to a Communication.notifyComplete(null), and all webRequests complete normally.