Where Is Your ANR Coming From? — Diagnosing How It Occurs and Prescribing Remedies by Symptom
summary
Practical diagnosis and remedies for Android ANRs: the talk analyzes why ANRs started appearing after changes like adding WorkManager or more deeplink launches, then walks through common root causes (main-thread I/O, heavy startup initialization, lock contention) and concrete fixes. It also explains relevant concepts (main thread, Binder) and investigation techniques such as reading trace files so listeners can identify likely patterns from Crashlytics reports and proceed with targeted debugging.
AI-written summary · about
chapters (13)
- 0:00ANR overview
- 4:27Introduction
- 7:21Main thread rules
- 10:17Diagnosing main-thread IO ANR
- 16:23ANR spike causes
- 18:49Binder call delays basics
- 23:50Binder calls at startup example
- 27:05Startup processing optimizations
- 28:30Lock-wait ANR mechanism
- 31:01Spotting lock-wait ANR
- 35:42Preventing lock-wait ANR
- 36:22ANR fixes summary
- 37:51References and samples
related talks
12mUnderstanding and debugging ANR's (Android Not Responding)
29mHow the Android Framework Monitors, Processes, and Triggers ANRs
19mRevolutionizing ANR Detection at Sentry
29mWhy ANRs are Hard to Solve and What You Can Do to Make it Easier
29mHow the Android Framework Monitors, Processes, and Triggers ANRs
22mANR overview at Uber + Leveraging ApplicationExitInfo API
24mMake the Most of Android Vitals
22mEverything you ever wanted to know about error handling in Android
