Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android ANR keyDispatchingTimedOut Error while continuous tapping on screen

Tags:

android

I am getting Application Not Responding (ANR) dialog while continuous tapping on the screen. There is no view on the screen where i am tapping. Frequency of this issue is less but still i am not able to remove it completely.

Here i am attaching the log what i caught during this error.

ERROR/ActivityManager(1322): ANR in com.test.mj.and.ui     (com.test.mj.and.ui/.TermsAndCondActivity)
ERROR/ActivityManager(1322): Reason: keyDispatchingTimedOut
ERROR/ActivityManager(1322): Parent: com.test.mj.and.ui/.SplashActivity
ERROR/ActivityManager(1322): Load: 6.59 / 6.37 / 5.21
ERROR/ActivityManager(1322): CPU usage from 11430ms to 2196ms ago:
ERROR/ActivityManager(1322):   rtal.mj.and.ui: 9% = 7% user + 1% kernel / faults: 649  minor
ERROR/ActivityManager(1322):   system_server: 4% = 2% user + 2% kernel / faults: 10 minor
ERROR/ActivityManager(1322):   logcat: 3% = 1% user + 1% kernel / faults: 675 minor 1  major
ERROR/ActivityManager(1322):   synaptics_wq: 1% = 0% user + 1% kernel
ERROR/ActivityManager(1322):   ami304d: 1% = 0% user + 0% kernel
ERROR/ActivityManager(1322):   .process.lghome: 1% = 0% user + 0% kernel / faults: 47 minor
ERROR/ActivityManager(1322):   sync_supers: 0% = 0% user + 0% kernel
ERROR/ActivityManager(1322):   droid.DunServer: 0% = 0% user + 0% kernel / faults: 6 minor
ERROR/ActivityManager(1322):   events/0: 0% = 0% user + 0% kernel
ERROR/ActivityManager(1322):   oid.inputmethod: 0% = 0% user + 0% kernel / faults: 2 minor
ERROR/ActivityManager(1322):   m.android.phone: 0% = 0% user + 0% kernel / faults: 2 minor
ERROR/ActivityManager(1322):   ndroid.settings: 0% = 0% user + 0% kernel
ERROR/ActivityManager(1322):   sh: 0% = 0% user + 0% kernel / faults: 110 minor
ERROR/ActivityManager(1322):  -flush-179:0: 0% = 0% user + 0% kernel
ERROR/ActivityManager(1322): TOTAL: 19% = 13% user + 6% kernel
WARN/WindowManager(1322): Continuing to wait for key to be dispatched
WARN/WindowManager(1322): No window to dispatch pointer action 1

Can anyone please help me to solve this issue?

Thanks in advance.

like image 462
user519846 Avatar asked Dec 25 '10 08:12

user519846


2 Answers

It usually happens in onClick handler doing some time consuming activity like getting resource from network or computing something complex. Use separate thread for that (UI thread) so that onclick handler can return and Window manager will continue.

http://developer.android.com/resources/articles/painless-threading.html

you can use Asynctask or postDelayed on view

like image 128
Dileep Avatar answered Nov 01 '22 14:11

Dileep


As stated in this answer before: That happens if a click, touch, key, etc. event is blocking the UI thread.

Funny enough, the same thing happened to me and it was also (very) infrequent. My problem was a binary search based on float values (not intended and very stupid ;-). Sometimes the search criteria doesn't change anymore so I got an infinite loop.

My suggestion: if you never intended to do heavy work which might block the UI thread, try to search for a possible infinite loop in your code.

like image 1
Knickedi Avatar answered Nov 01 '22 14:11

Knickedi