Say I'm 20 hours into a 24 hour cycling race. And my damn Edge 820 crashes and restarts. Not that this has ever happened. Twice. :-(
I either have to hold the power button down for like 20 seconds to get it to reset/restart. Or it just reboots on its own.
I have logic in my CIQ data field to save critical metrics every second in a function called from the compute() loop. And I retrieve my stored metrics every second to compare to the Activity. Info() values. If my stored values (eg: elapsed distance) are larger than the device's internal values, I use my stored values. If I discard or save an activity, it clears out the stored values.
This actually works well, and my ride data preserved after a device crash and my metrics continue as if it didn't crash. Love it.
But storing 8 values and retrieving them, and comparing them.... every second... is contributing to higher battery drain and less responsive maps.
Has anyone figured out if instead of doing this every cycle, if the various crash/restart scenarios always invoke an interrupt like an onStart()? It seems to me there are some cases in which it doesn't, so I needed to do this check every cycle.
Thanks - I know this is a little obscure, but it you've looked into this, thanks!