ANR-Input dispatching timed out

Reason: Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago.  Wait queue length: 6.  Wait queue head age: 8813.6ms.)
    

出现该问题的情况有很多,这里只阐述公司项目中遇到的情景:

场景

设备有两个屏幕,类似于点餐机器,前后各一个屏幕;首页MainActivity,启动模式singleTask;进去其他界面操作完毕都会回到首页

测试现象

多次从别的界面回到MainActivity,3-5分钟后app出现卡顿,10分钟左右就会出现anr

原因

多次排查,发现同事在处理副屏时,在MainActivity中onResume中创建副屏Presentation(Dialog的字类)并show;这样每次回到该界面都会创建副屏并展示,所以多次后就创建了n个Presentation并展示出来了;

解决办法

将创建副屏和展示的代码放置onCreate中,只初始化一次并展示

仅此记录,如有问题还请提出,希望对看到的朋友有所帮助

你可能感兴趣的:(android)