App Standby vs. Doze: Understanding System Sleep
summary
Marshmallow enforces Doze: device-level idle when unplugged, screen off and stationary that suspends network, batches jobs and delays alarms, then opens daily maintenance windows; DeviceIdleController advances states via its AlarmManager in ~30‑minute steps and an ADB test command lets you step through them. Per‑app App Standby limits background access for unused apps but honors foreground services, wake locks and alarms. Use SetAndAllowWhileIdle/SetExact... to fire time‑critical alarms (throttled to one per 15‑minute window) and GCM high‑priority messages to temporarily wake apps; test with adb dump sys deviceidle and set-inactive.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 2:40Background Services
- 4:10Doze
- 6:15Doze Mode
- 11:37ABB Service
- 12:49Alarms
- 14:43High Priority
- 17:58Whitelist
- 19:02App Standby
- 24:34App Standby Adaptation
related talks
34mDoo z z z z z e
33mIs my application taking up too much power?
21mImproving battery life with restrictions
28mBest practices for running background work on Android
26mDon't let your app drain your users' battery
33mAndroid 5.0 internals and our inferiority complex
38mHow to keep your app awake in a GSM phone app
34mPowering up your app performance & stability using App Vitals
