After a year of effort, I finally achieved 0% ANR in Respawn. Here’s a complete guide on how I did it.

Let’s start with 12 tips you need to address first, and in the next post I’ll talk about three hidden sources of ANR that my colleagues still don’t believe exist.

1. Add event logging to Crashlytics

Crashlytics allows you to record any logs in a separate field to see what the user was doing before the ANR. Libraries like FlowMVI let you do this automatically. Without this, you won’t understand what led to the ANR, because their stack traces are absolutely useless.

Especially encrypted ones. They are the #1 cause of ANRs. Use DataStore with Kotlin Serialization instead. I’ll explain why I hate prefs so much in a separate …

Similar Posts

Loading similar posts...

Keyboard Shortcuts

Navigation
Next / previous item
j/k
Open post
oorEnter
Preview post
v
Post Actions
Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Recommendations
Add interest / feed
Enter
Not interested
x
Go to
Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Browse
gb
Search
/
General
Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help