![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
---【ANR分析】
文章平均质量分 89
Achillisjack
这个作者很懒,什么都没留下…
展开
-
android ANR源码分析 --- 之一
概述:ANR(ApplicationNot responding),是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成ANR。一般地,这时往往会弹出一个提示框,告知用户当前xxx未响应,用户可选择继续等待或者Force Close。那么哪些场景会造成ANR呢?1,Service Timeou原创 2017-10-31 20:04:32 · 1499 阅读 · 1 评论 -
android ANR源码分析 --- 之二
2, BroadcastQueue Timeout触发时机: BroadcastQueue中的mHandler收到BROADCAST_TIMEOUT_MSG消息时触发.在广播的流程中,匹配广播之后,最后AMS会调用BroadcastQueue的processNextBroadcast方法进行处理。processNextBroadcast方法主要逻辑如下,1,首先处理一般广播(并行广播)原创 2017-10-31 20:11:08 · 924 阅读 · 0 评论 -
android ANR源码分析 --- 之三
4, inputDispatching Timeout当input事件处理得慢就会触发ANR.ANR时间区别便是指当前这次的事件dispatch过程中执行findFocusedWindowTargetsLocked()方法到下一次执行resetANRTimeoutsLocked()的时间区间.在InputDispatcher.cpp的事件分发过程中, 如果是Key event事件,则会原创 2017-10-31 20:18:10 · 2871 阅读 · 1 评论 -
android ANR源码分析 --- 之四
5,小结Timeout时长对于前台服务,则超时为SERVICE_TIMEOUT = 20s;对于后台服务,则超时为SERVICE_BACKGROUND_TIMEOUT = 200s对于前台广播,则超时为BROADCAST_FG_TIMEOUT = 10s;对于后台广播,则超时为BROADCAST_BG_TIMEOUT = 60s;ContentProvider超时为CONT原创 2017-10-31 20:21:25 · 764 阅读 · 0 评论