Android系统中,AMS和WMS会检测App的响应时间,如果App在特定时间无法相应屏幕触摸或键盘输入时间,或者特定事件没有处理完毕,就会出现ANR。
例如键盘输入事件和触摸事件超过五秒就会GG
前台广播10秒没有完成 后台60秒吧
服务前台20秒 后台200秒
解决笼统一下尽量使用子线程,避免死锁的出现,使用子线程来处理耗时操作或阻塞任务。
还有就是服务内容提供者吧尽量不要执行太长时间的任务。
Android系统中,AMS和WMS会检测App的响应时间,如果App在特定时间无法相应屏幕触摸或键盘输入时间,或者特定事件没有处理完毕,就会出现ANR。
例如键盘输入事件和触摸事件超过五秒就会GG
前台广播10秒没有完成 后台60秒吧
服务前台20秒 后台200秒
解决笼统一下尽量使用子线程,避免死锁的出现,使用子线程来处理耗时操作或阻塞任务。
还有就是服务内容提供者吧尽量不要执行太长时间的任务。
本文标题:6、ANR 出现的场景以及解决方案?
本文链接:https://www.haomeiwen.com/subject/sntlaqtx.html
网友评论