I'm also working on a little game, actually 3 mini...
# compose
s
I'm also working on a little game, actually 3 mini games, written in Jetpack Compose🎉. I don't have slides but the source code: https://github.com/SimonSchubert/Braincup It's almost ready to be shipped into production(joking😬) but I get an ANR in 1 minigame and I can't figure out why. Because the other 2 games run fine and I don't see what I'm doing significant different. Stacktrace and class are in the comments. Maybe someone has a hint or feedback in general.
👍 4
Class:
Copy code
<https://github.com/SimonSchubert/Braincup/blob/master/app/src/main/java/com/inspiredandroid/braincup/MainActivity.kt>
Copy code
2019-08-29 11:30:26.810 21254-21268/? E/ActivityManager: ANR in androidx.ui.material.studies (androidx.ui.material.studies/.MainActivity)
    PID: 25880
    Reason: Input dispatching timed out (Waiting to send key event because the focused window has not finished processing all of the input events that were previously delivered to it.  Outbound queue length: 0.  Wait queue length: 1.)
    Load: 1.51 / 0.72 / 0.57
    CPU usage from 40970ms to 0ms ago (2019-08-29 11:29:43.400 to 2019-08-29 11:30:24.370):
      63% 25880/androidx.ui.material.studies: 62% user + 0.2% kernel / faults: 13757 minor 2759 major
      15% 21254/system_server: 6.2% user + 9.5% kernel / faults: 20346 minor 15 major
      4.9% 24415/org.mozilla.firefox: 4.1% user + 0.8% kernel / faults: 14953 minor 29 major
      4.4% 21415/com.android.systemui: 3.1% user + 1.3% kernel / faults: 1379 minor 4 major
      4.3% 641/surfaceflinger: 2.8% user + 1.5% kernel / faults: 153 minor 2 major
      3.8% 4593/com.google.android.googlequicksearchbox:search: 2.7% user + 1.1% kernel / faults: 12553 minor 1128 major
      3.2% 31285/com.google.android.gms.persistent: 2.4% user + 0.8% kernel / faults: 4672 minor 11 major
      2.9% 28685/com.google.android.apps.nexuslauncher: 2.1% user + 0.7% kernel / faults: 18663 minor 140 major
      2.4% 24021/com.kptncook.app.kptncook: 2% user + 0.4% kernel / faults: 4479 minor
      2% 643/android.hardware.graphics.composer@2.2-service: 0.9% user + 1% kernel / faults: 113 minor
      1.5% 31115/com.google.android.inputmethod.latin: 1.2% user + 0.2% kernel / faults: 4109 minor 118 major
      1.3% 31300/com.google.android.gms: 0.9% user + 0.4% kernel / faults: 4832 minor 74 major
      1% 322/crtc_commit:111: 0% user + 1% kernel
      0.9% 11232/adbd: 0.1% user + 0.7% kernel / faults: 69587 minor
      0.7% 24303/kworker/u16:7: 0% user + 0.7% kernel
      0.5% 15382/kworker/u16:3: 0% user + 0.5% kernel
      0.5% 22483/kworker/u16:8: 0% user + 0.5% kernel
      0.5% 28088/com.android.chrome:sandboxed_process0: 0.3% user + 0.1% kernel / faults: 2193 minor 1086 major
      0.4% 16541/kworker/u16:5: 0% user + 0.4% kernel
      0.4% 24571/de.hafas.android.db: 0.3% user + 0% kernel / faults: 762 minor 2 major
      0.3% 7/rcu_preempt: 0% user + 0.3% kernel
      0.3% 894/statsd: 0.3% user + 0% kernel
      0.3% 23828/kworker/u16:6: 0% user + 0.3% kernel
      0.3% 259/kgsl_worker_thr: 0% user +
Copy code
0.3% kernel
      0.3% 597/logd: 0.1% user + 0.1% kernel / faults: 4 minor 5 major
      0.3% 801/android.hardware.memtrack@1.0-service: 0.1% user + 0.1% kernel
      0.2% 834/lmkd: 0% user + 0.2% kernel
      0.2% 21545/com.android.phone: 0.1% user + 0% kernel / faults: 185 minor 1 major
      0.2% 10/rcuop/0: 0% user + 0.2% kernel
      0.2% 104/system: 0% user + 0.2% kernel
      0.2% 21950/com.google.android.ims: 0.1% user + 0% kernel / faults: 379 minor
      0.2% 22546/com.x8bit.bitwarden: 0.1% user + 0% kernel / faults: 11 minor
      0.1% 902/qcrild: 0.1% user + 0% kernel / faults: 33 minor
      0.1% 20396/kworker/u16:0: 0% user + 0.1% kernel
      0.1% 647/vendor.qti.hardware.display.allocator@1.0-service: 0% user + 0.1% kernel
      0.1% 21130/android.hardware.power@1.3-service.crosshatch-libperfmgr: 0% user + 0.1% kernel
      0.1% 24629/com.android.chrome:sandboxed_process0: 0.1% user + 0% kernel / faults: 1037 minor
      0.1% 828/msm_irqbalance: 0% user + 0% kernel
      0.1% 3776/com.android.chrome: 0.1% user + 0% kernel / faults: 82 minor
      0.1% 323/crtc_event:111: 0% user + 0.1% kernel
      0.1% 22252/kworker/3:0: 0% user + 0.1% kernel
      0% 21/rcuop/1: 0% user + 0% kernel
      0% 29/rcuop/2: 0% user + 0% kernel
      0% 61/rcuop/6: 0% user + 0% kernel
      0% 604/sugov:0: 0% user + 0% kernel
      0% 626/servicemanager: 0% user + 0% kernel
      0% 807/android.hardware.thermal@1.1-service.crosshatch: 0% user + 0% kernel
      0% 5982/com.google.process.gservices: 0% user + 0% kernel / faults: 103 minor
      0% 21845/irq/80-1436400.: 0% user + 0% kernel
      0% 37/rcuop/3: 0% user + 0% kernel
      0% 45/rcuop/4: 0% user + 0% kernel
      0% 69/rcuop/7: 0% user + 0% kernel
      0% 142/kswapd0: 0% user + 0% kernel
      0% 605/sugov:4: 0% user + 0% kernel
      0% 1120/irq/382-fts: 0% user + 0% kernel
      0% 21121/zygote64: 0% user + 0% kernel / faults: 302 mi
r
Neither of those are stack traces - having a stack trace would help debug
s
You are right it's not a stacktrace. But it's the only useful info I get from the logcat. And I forgot to mention that it happens after hitting the back button. The flow is: Open App -> click on "Sherlock calculation" -> click on "Start" -> hit back button -> app completely freezes -> after a few seconds "Braincup isn't responding" dialog pops up with error in logcat
r
https://developer.android.com/topic/performance/vitals/anr has some info on how to debug ANRs, including getting traces
s
Thanks for the info