An app should have an auto pause. So, it should be able to detect movement under, say 2 mph, and block it out. Perhaps other patterns to differentiate riding from walking, for example taking a hill climb into consideration (if knows the change in elevation).
If tied to a cadence meter, or a power meter, then it should also know when one is riding, vs driving, vs not on a bike.
I'm not sure about the resource hog. It may depend a bit on the frequency of updates. For tracking where a person is, or where one went, perhaps one would just need an update every second, or few seconds.
Maybe some of this will come out with the next generation of more integrated apps.