Standby Buckets in Android
summary
Investigation shows standby buckets block reliable incoming-call wakeups: using PJSip for SIP and Firebase high-priority pushes to trigger connection tests, simulated calls stop receiving high-priority pushes after about ten in the frequent bucket (Google docs suggest 10/day and 5/day for rarer buckets), and live telemetry finds the app spends ~80% of time in the rare bucket with only ~75% of high-priority pushes delivered. Push-to-connection latency is good (median <1s, 90% <4s) but bucket limits and SIP connection failures cause most missed calls.
AI-written summary · about
chapters (14)
- 0:00Introduction and speaker intro
- 1:07Problem with deep sleeping app
- 3:20Solution using push notifications
- 6:11Standby buckets explained
- 10:29Manufacturer differences in buckets
- 12:38Push limits by bucket state
- 15:52Live environment bucket analysis
- 18:22Push delivery failure rates
- 20:50Network and firewall issues
- 21:57Data collection challenges
- 23:02Call setup speed results
- 24:07Do you need to care about buckets?
- 25:54Funny stories and Huawei white list
- 27:19Q&A and closing
related talks
33mIs my application taking up too much power?
06mPush notifications: An India perspective
36mBackground Work in Android: Strategies and Best Practices
28mBest practices for running background work on Android
22mPower optimization for Android
26mDon't let your app drain your users' battery
28mChallenges and Pitfalls of Creating a Telephony App
30mApp Standby vs. Doze: Understanding System Sleep
