ScaleBun
Skip to article

ANRs

Administrator

ANRs in the Diagnose area (Issues) — route /diagnose/anrs.

Updated Reviewed

ANRs lives in the Diagnose area of the dashboard, under Issues.

At a glance#

Dashboard route/diagnose/anrs
AreaDiagnose (diagnose)
GroupIssues
PlatformsMobile apps only (iOS, Android, React Native, Flutter). Hidden for web apps.

What it does#

ANRs — Application Not Responding — are freezes: the main thread stopped servicing input long enough that the OS noticed. This page reports them over a selectable time window with a KPI strip, a trend line, a sortable by screen table, and a list of recent occurrences. Selecting a screen opens a drawer with that screen's detail.

An ANR is not a crash. The process usually survives, so nothing appears in Crashes — which is exactly why freezes go unnoticed for so long despite being one of the most damaging things a user can experience.

When to use it#

When users describe the app as "slow" or "stuck" and the crash rate is flat. The by-screen table is the fastest route from that vague report to a specific view, because freezes concentrate: one screen doing synchronous work on the main thread accounts for most of them.

Workflow#

  1. Widen the window until the trend has shape

    A short window on a low-traffic app is mostly noise. Widen it until you can see whether the rate is flat, climbing, or a single spike tied to one release.

  2. Sort by screen and take the top row

    Freezes cluster by screen far more reliably than crashes do. The top row is usually the whole investigation.

  3. Open the screen drawer

    The drawer breaks that screen's ANRs down further, which tells you whether the freeze is one code path or the screen being generally overloaded.

  4. Fix the blocking call, not the symptom

    Almost every ANR is I/O, a large decode, or a lock on the main thread. Move it off and the row disappears.

Permissions and prerequisites#

Requires an SDK version that reports ANRs, on a platform that has the concept. No dashboard configuration is needed.

Limits and edge cases#

  • Every event here is a real on-device freeze. None of it is modelled or extrapolated.

  • Mobile concept. A web app's equivalent signals are long tasks and interaction latency, reported under Web Vitals instead.

  • A freeze that ends in process death is reported as a crash by the OS, so it will appear in Crashes rather than here.

Troubleshooting#

No ANRs at all on a busy app. Confirm the window starts after your SDK rollout. If it does, check the reporting SDK version — ANR capture is not present in every release.

The trend spikes on one day only. Compare against your release timeline. A spike bounded by two releases is a regression you have already shipped past; one that starts and does not stop is live.

Where the data comes from#

From the SDK

Served by

  • Issues

ANRs · Diagnose · Dashboard · ScaleBun