How to Diagnose and Fix ANR (App Not Responding) Errors Below Google Play's 0.47% Bad Behavior Threshold

C
CloseTesting Review Team
Sep 24, 2026·9 min read
How to Diagnose and Fix ANR (App Not Responding) Errors Below Google Play's 0.47% Bad Behavior Threshold

An Application Not Responding (ANR) error occurs when an Android application's UI thread is blocked for longer than 5 seconds. In 2026, Google Play enforces a strict 0.47% ANR threshold under Android Vitals, above which store rankings plummet.

The Primary Culprits Behind ANRs

The main thread in Android must remain dedicated purely to rendering UI components and handling user interactions at 60/120fps. Heavy work on the main thread triggers immediate frame drops and ANRs.

  • Synchronous Disk I/O: Reading SharedPreferences, loading SQLite databases, or reading JSON configs directly on the main thread during app launch.
  • Network Calls on UI Thread: Any blocking HTTP or socket operation.
  • Heavy JSON Parsing: Parsing large JSON responses synchronously using Gson or Jackson instead of Kotlinx Serialization with Coroutines dispatchers (Dispatchers.IO).
  • Lock Contention: Background threads holding mutexes or synchronized blocks that the UI thread is waiting to acquire.
  • Third-Party SDK Initializers: Multiple analytics or ad SDKs initializing synchronously inside Application.onCreate().
Use StrictMode in debug builds (StrictMode.setThreadPolicy) to automatically crash your development builds if any disk or network I/O occurs on the main thread.

Best Practices to Keep ANR Rates Near 0.0%

  1. Move all initialization code to Android App Startup or background coroutine scopes.
  2. Use Kotlin Coroutines with withContext(Dispatchers.IO) for all database, file, and network operations.
  3. Implement Room Database with asynchronous Flow or suspend queries.
  4. Inspect Play Console > Android Vitals > ANRs & Crashes weekly for stack traces.
C

CloseTesting Review Team

Official guide by the CloseTesting editorial team. Helping Android developers meet Google Play requirements with 12 real testers for 14 continuous days.

Learn more about CloseTesting →
Pass Google Play Closed Testing

Need 12 Real Testers for Your Android App?

Get 12 verified human testers on real Android devices. Pass the 14-day testing requirement on your first attempt with daily active tracking and zero risk.