Battery is the silent killer of always-on mobile sensing. If your app records or samples through the whole night, you are one bad release away from a 40% overnight drain and a one-star review that just says "killed my battery." Some hard-won tactics.

The budget mindset

Treat energy like a memory budget. Every wakeup, every sensor poll, every network call has a cost. The goal is not zero cost - it is predictable, disclosed cost. Users forgive "uses ~8% overnight" if you tell them; they do not forgive a surprise.

Concrete tactics

Batch, do not stream. Buffer samples and process in chunks instead of waking the CPU continuously. Coalesced work is far cheaper than the same work sprinkled across the night.