---
title: Find and fix ANRs and slow screens in Android and Kotlin Multiplatform
description: Detect ANRs & slow screens as Critical issues, with one-click root-cause analysis & AI-assisted fixes for Android & Kotlin KMP apps built on Koin.
image: https://blog.kotzilla.io/hubfs/Kotzilla-Blog-Featured-Fix-ANRs-912x513.png
---

[Skip to content](https://blog.kotzilla.io/june-2026-anr-slow-screen-fixes-in-android-kmp#main-content)

[![kotzilla (3)](https://blog.kotzilla.io/hubfs/kotzilla%20(3).svg)](https://kotzilla.io/)

- [Koin](https://insert-koin.io/)
- [Koin IDE Plugin](https://plugins.jetbrains.com/plugin/26131-koin-dependency-injection-official-)
- [Koin LTS](https://kotzilla.io/koin-lts)
- [Developer Hub](https://doc.kotzilla.io/)

Open main navigation

Close main navigation

- [Koin](https://insert-koin.io/)
- [Koin IDE Plugin](https://plugins.jetbrains.com/plugin/26131-koin-dependency-injection-official-)
- [Koin LTS](https://kotzilla.io/koin-lts)
- [Developer Hub](https://doc.kotzilla.io/)
- [Contact us](https://blog.kotzilla.io/june-2026-anr-slow-screen-fixes-in-android-kmp#contact)

[Contact us](https://blog.kotzilla.io/june-2026-anr-slow-screen-fixes-in-android-kmp#contact)

 Jun 29, 2026, 11:31:51 AM

# Find and fix ANRs and slow screens in Android and Kotlin Multiplatform

![Picture of Miguel Valdes Faura](https://blog.kotzilla.io/hs-fs/hubfs/Screenshot%202024-12-09%20at%2013.45.53.png?width=50&name=Screenshot%202024-12-09%20at%2013.45.53.png) [Miguel Valdes Faura](https://blog.kotzilla.io/author/miguel-valdes-faura)

Share: [facebook-f icon](http://www.facebook.com/share.php?u=https://blog.kotzilla.io/june-2026-anr-slow-screen-fixes-in-android-kmp) [linkedin-in icon](http://www.linkedin.com/shareArticle?mini=true&url=https://blog.kotzilla.io/june-2026-anr-slow-screen-fixes-in-android-kmp) [Twitter icon](https://twitter.com/intent/tweet?url=https://blog.kotzilla.io/june-2026-anr-slow-screen-fixes-in-android-kmp) [pinterest-p icon](http://pinterest.com/pin/create/link/?url=https://blog.kotzilla.io/june-2026-anr-slow-screen-fixes-in-android-kmp) [envelope icon](mailto:?body=https://blog.kotzilla.io/june-2026-anr-slow-screen-fixes-in-android-kmp)

ANRs and slow screens are now detected automatically and ranked as Critical issues, with a single click from a Dashboard metric to the exact component to fix, and your AI assistant can apply the fix based on real session data.

Compose render timing is now measured on-device, the SDK is hardened so it never crashes or slows your app, and SDK setup can be done automatically by the Kotzilla MCP Server. Live now for any Android or Kotlin Multiplatform app using Koin.

## What's New

### Catch the ANRs and slow screens hurting your users, automatically

[ANRs](https://blog.kotzilla.io/fixing-android-anrs-when-crashlytics-shows-root-cause-unknown)and [slow screens](https://blog.kotzilla.io/fix-slow-kotlin-app-startup)used to take digging to find. Now they surface on their own: both are detected automatically and ranked as **Critical issues**, Kotzilla's top-severity tier, in the **Issues View** ordered by how many user sessions each one affects. The list reads as a single prioritized view of what's hurting your users most.

An ANR (Application Not Responding) is what happens when your app's main thread is blocked too long. On Android, Kotzilla flags any stall longer than 2 seconds.

![Issues - Critical -hi-res- (2)-1](https://blog.kotzilla.io/hs-fs/hubfs/Issues%20-%20Critical%20-hi-res-%20(2)-1.png?width=2640&height=1404&name=Issues%20-%20Critical%20-hi-res-%20(2)-1.png)

### Go from a health number to the root cause in one click

The **ANR-free rate** on your Dashboard is now clickable: it opens the Critical Issues view filtered to the ANRs behind the number.

![Kotzilla-Dashboard-HighRes](https://blog.kotzilla.io/hs-fs/hubfs/Kotzilla-Dashboard-HighRes.png?width=1760&height=1352&name=Kotzilla-Dashboard-HighRes.png)

### Set up the Kotzilla SDK in a new app with one prompt

New apps registration in the Console now start with a setup-choice screen.

![Onboarding - Setup Choice](https://blog.kotzilla.io/hs-fs/hubfs/Onboarding%20-%20Setup%20Choice.png?width=3192&height=2304&name=Onboarding%20-%20Setup%20Choice.png)

Pick the recommended [**MCP-guided flow**](https://doc.kotzilla.io/docs/getstartedCustom/mcpSetup) and a single prompt to your AI assistant registers the app and applies every SDK change for you: the version-catalog entries, the Gradle plugin, `kotzilla.json`, and the `monitoring()` call in your Koin setup.  [Straightword manual step-by-step setup](https://doc.kotzilla.io/docs/getstartedCustom/consoleSetup) is still there if you want it.

Connecting the MCP server takes a few lines in your assistant's config:

```

                    
{ 
   "mcpServers": {   
     "kotzilla": {     
       "command": "npx",     
       "args": ["-y", "mcp-remote", "https://mcp.kotzilla.io/mcp"] 
      } 
   }
 }
            
```

 

## Improved

### Stop chasing slow screens that aren't actually slow

Your slow-screen rankings are now measured **on-device** with a monotonic clock from the moment a screen is created, instead of being inferred from server-side timestamps that drifted with clock skew and batching. The numbers you act on are the ones your users actually experienced, so you spend time on real regressions, not measurement noise.

Each screen now reports two of them:

- **Render time:** from screen creation to the first frame painted.
- **Time to interactive:** from creation to fully resumed, including the navigation transition.
  
  ![Session Details - High Res](https://blog.kotzilla.io/hs-fs/hubfs/Session%20Details%20-%20High%20Res.png?width=3440&height=1935&name=Session%20Details%20-%20High%20Res.png)

This works identically for Navigation 2 and Navigation 3, with no new fields in the event payload. While developing, turn on debug logs to see the per-screen breakdown in Logcat:

```

                    
[Kotzilla] Screen '<name>' load funnel: CREATED/STARTED/VISIBLE/RESUMED at +<n>ms
            
```

 

### Monitoring that stays out of your app's way

A monitoring SDK should never be the reason your app misbehaves. This release hardened every point where the SDK touches your app so it absorbs its own errors. Network failures (DNS, offline, timeout, TLS) are handled quietly instead of surfaced as errors, the connection retries with jittered backoff and reconnects after a drop, and the SDK never crashes or slows the app it's measuring.

Crash reports also carry more context now, including the last resumed screen at the moment of the crash, and a back-navigation fix means your session counts are no longer inflated.

## Fixed

### Stack traces now resolve to the right build, every time

**Before:** rebuilding the same version name overwrote the previous mapping file, leaving component names and crash stack traces only partly readable.

**Now:** a single app version can hold multiple mapping files, each tied to a per-build Build ID. On Android this is per-variant, so a release build and a minified staging build no longer overwrite each other's mappings, and every signal (component names, dependency names, crash stack traces) resolves to the exact build that produced it. You can also download any mapping file by ID from the Console.

![Application Settings - High Res](https://blog.kotzilla.io/hs-fs/hubfs/Application%20Settings%20-%20High%20Res.png?width=3152&height=2310&name=Application%20Settings%20-%20High%20Res.png)

### Trust your startup timeline again

**Before:** early-lifecycle dependency work (the `startKoin`, module-load, and eager-singleton resolutions that run during `Application.onCreate`) could appear *after* the first screen event, because Koin events were numbered when the SDK drained its buffer rather than when they happened. Startup analysis got muddled as a result.

**Now:** every event is sequenced at the instant it occurs, so the timeline matches wall-clock order across the Koin and screen boundary. Startup and screen-rendering analysis attribute the right work to the right phase. This is a recommended upgrade, with no API or configuration changes.

## How the fix actually happens

This video shows it end to end. The Console drills from a slow screen down to a single `MainViewModel` resolution blocking the main thread for ~700ms. Then, inside Android Studio, Claude Code (via the MCP server) is asked *"what is the main blocker of my app?"*, finds the same root cause, and proposes the fix: move work out of the ViewModel constructor and inject the repository lazily.

 

## Upgrade and get started

If you already run the Kotzilla SDK, this is a recommended upgrade: bump to the latest version and rebuild. There are no API or configuration changes.

New to Kotzilla? The fastest path:

1. Create a free account at **[kotzilla.io](https://kotzilla.io)**, or explore the [sandbox](https://console.kotzilla.io/sandbox-home) first.
2. Register your app. The MCP-guided flow wires up the SDK in one prompt.
3. Open the **Critical Issues view** and click through from your ANR-free rate to the root cause.

## FAQ

**How does Kotzilla detect ANRs and slow screens?**

Kotzilla instruments your app at the Koin dependency-injection layer through a single-line SDK, records real user sessions, and automatically flags ANRs (main-thread stalls longer than 2 seconds) and slow-rendering screens, ranking them as Critical issues by the number of impacted sessions.

**What are Critical issues in Kotzilla?**

Critical issues are Kotzilla's top-severity findings: crashes, ANRs, slow screens, cold and warm startup performance, and main- and background-thread performance. They appear in the Issues View and are the problems Kotzilla flags to fix first.

**How is Kotzilla different from Firebase Crashlytics or Sentry?**

Kotzilla works at the dependency-injection layer through Koin, so it maps a crash or slowdown to the exact component and dependency graph involved rather than monitoring the app as a black box. That architectural context is what lets its AI assistant propose accurate, code-level fixes instead of generic suggestions.

**Does the Kotzilla SDK slow down or crash my app?**

No. As of the June 2026 release, the SDK absorbs its own errors, handles network failures quietly, retries with backoff, and is built so it never crashes or slows the app it monitors.

**Which platforms does Kotzilla support?**

Android and Kotlin Multiplatform, including iOS, Desktop (JVM), JavaScript, WebAssembly, and Compose Multiplatform, all from a single SDK setup.

**Is Kotzilla free to start?**

Yes. You can create a free account and explore a sandbox before integrating the SDK into your own app.

## Questions?

- Documentation and MCP setup: **[doc.kotzilla.io](https://doc.kotzilla.io)**
- Console: **[console.kotzilla.io](https://console.kotzilla.io)**
- Koin (Kotlin and KMP dependency injection): **[insert-koin.io](https://insert-koin.io)**

[Koin](https://blog.kotzilla.io/tag/koin), [KMP](https://blog.kotzilla.io/tag/kmp), [ANR](https://blog.kotzilla.io/tag/anr), [Android Performance](https://blog.kotzilla.io/tag/android-performance), [developer observability](https://blog.kotzilla.io/tag/developer-observability)

## Related posts

[![The best MCP servers for mobile app development — a Kotzilla diagram showing the flow from AI coding assistant through the Kotzilla MCP Server to production crash data, session context, and Koin dependency graphs for Android and KMP teams.](https://blog.kotzilla.io/hubfs/kotzilla_blog_featured_image%20(1).svg)](https://blog.kotzilla.io/best-mcp-servers-for-mobile-app-development-in-2026)

[Dependency Injection](https://blog.kotzilla.io/tag/dependency-injection), [Mobile development](https://blog.kotzilla.io/tag/mobile-development), [Android development](https://blog.kotzilla.io/tag/android-development), [MCP Server](https://blog.kotzilla.io/tag/mcp-server)

## [The best MCP servers for mobile app development in 2026](https://blog.kotzilla.io/best-mcp-servers-for-mobile-app-development-in-2026)

[The Kotzilla Team](https://blog.kotzilla.io/author/the-kotzilla-team) 

 Jun 9, 2026, 12:33:07 PM

Before getting into the list, MCP (Model Context Protocol) is the open standard that lets AI coding...

[Read more](https://blog.kotzilla.io/best-mcp-servers-for-mobile-app-development-in-2026)

[![Kotzilla MCP Server diagram showing six sequential tools: guide_sdk_install, list_apps, get_issues, get_issue_context, get_perf_guidance, and generate_report — covering the full flow from app setup to automated performance reporting.](https://blog.kotzilla.io/hs-fs/hubfs/Copy%20of%20Whats%20new%20November%202024%20(3).png?height=200&name=Copy%20of%20Whats%20new%20November%202024%20(3).png)](https://blog.kotzilla.io/kotzilla-mcp-server-for-kmp)

[KMP](https://blog.kotzilla.io/tag/kmp), [Performance Monitoring](https://blog.kotzilla.io/tag/performance-monitoring), [MCP Server](https://blog.kotzilla.io/tag/mcp-server)

## [Introducing the Kotzilla MCP Server: accurate AI fixes for KMP apps](https://blog.kotzilla.io/kotzilla-mcp-server-for-kmp)

[The Kotzilla Team](https://blog.kotzilla.io/author/the-kotzilla-team) 

 May 4, 2026, 10:55:21 AM

This week, we're launching the Kotzilla MCP Server. It's a new way to connect your AI coding...

[Read more](https://blog.kotzilla.io/kotzilla-mcp-server-for-kmp)

[![A diagram showing four KMP targets (Android, iOS, Desktop, WASM) feeding into a single Kotzilla observability layer, with crash-free rate metrics and Koin graph visualization displayed in the console.](https://blog.kotzilla.io/hubfs/featured-01-kmp-observability.svg)](https://blog.kotzilla.io/the-best-observability-tools-for-kotlin-multiplatform-in-2026)

[Mobile development](https://blog.kotzilla.io/tag/mobile-development), [Android development](https://blog.kotzilla.io/tag/android-development), [MCP Server](https://blog.kotzilla.io/tag/mcp-server), [developer observability](https://blog.kotzilla.io/tag/developer-observability)

## [The best observability tools for Kotlin Multiplatform in 2026](https://blog.kotzilla.io/the-best-observability-tools-for-kotlin-multiplatform-in-2026)

[The Kotzilla Team](https://blog.kotzilla.io/author/the-kotzilla-team) 

 Jun 9, 2026, 1:13:41 PM

Kotlin Multiplatform has crossed the threshold. It is no longer experimental. Google and JetBrains...

[Read more](https://blog.kotzilla.io/the-best-observability-tools-for-kotlin-multiplatform-in-2026)

facebook-f icon linkedin-in icon Twitter icon instagram icon

- Menu Item 1 
    - Sub-menu Item 1 
          - Another Item
    - Sub-menu Item 2
- Menu Item 2 
    - Yet Another Item
- Menu Item 3
- Menu Item 4

---

[![kotzilla-logo](https://blog.kotzilla.io/hubfs/kotzilla-logo.svg "kotzilla-logo")](http://www.kotzilla.io)

Copyright © 2025,

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Miguel Valdes Faura",
    "url" : "https://blog.kotzilla.io/author/miguel-valdes-faura"
  },
  "dateModified" : "2026-06-29T09:31:51.288Z",
  "datePublished" : "2026-06-29T09:31:51.000Z",
  "headline" : "Find and fix ANRs and slow screens in Android and Kotlin Multiplatform",
  "image" : [ "https://blog.kotzilla.io/hubfs/Kotzilla-Blog-Featured-Fix-ANRs-912x513.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.kotzilla.io/june-2026-anr-slow-screen-fixes-in-android-kmp",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.kotzilla.io/hubfs/__Kotzilla_format-site-web-line%201.png"
    },
    "name" : "Kotzilla SAS"
  }
}
```