How the Android Framework Monitors, Processes, and Triggers ANRs
summary
Explains concrete ANR behavior and tooling: Android triggers 5 seconds for activities only when there is user input, broadcast receivers time out at 10 seconds, foreground services at ~20s and background services up to ~200s while ContentProviders can ANR at 1 second. Google Play Console treats a session as a device-day and uses percent thresholds (eg 0.47%) so counts can drop without the percentage improving, and Crashlytics ANR uploads require Android 11+. Embrace captures samples from 1s and builds flame graphs to find common root causes.
AI-written summary · about
chapters (10)
- 0:00Introduction to ANRs
- 2:59Limitations of ANR data
- 6:12How Android captures ANRs
- 9:25ANR trigger rules
- 12:35Services and ANR thresholds
- 14:21Broadcast receivers and ANRs
- 15:44ANR data collection challenges
- 17:52Avoiding ANRs best practices
- 22:52Improving ANR resolution
- 28:30Summary and Q&A
related talks
29mHow the Android Framework Monitors, Processes, and Triggers ANRs
29mWhy ANRs are Hard to Solve and What You Can Do to Make it Easier
39mWhere Is Your ANR Coming From? — Diagnosing How It Occurs and Prescribing Remedies by Symptom
12mUnderstanding and debugging ANR's (Android Not Responding)
19mRevolutionizing ANR Detection at Sentry
24mMake the Most of Android Vitals
22mANR overview at Uber + Leveraging ApplicationExitInfo API
40mAndroid vitals: Debug app performance and reap rewards
