史上最全面的Android-ANR-详解,androidstudio汉化

按键响应分发超时(Key Dispatch Timeout)默认 5 s,超过则会出现ANR。广播超时(Broadcast Timeout)默认 10 s,超过则会出现ANR。服务超时(Service Timeout)默认 20 s,超过则会出现ANR。三、ANR 产生的原因在Android系统中,APP 通常运行在一个UI Thread或者叫MainThread里。并且Android中只有一个MainThread 和Main Messag.
摘要由CSDN通过智能技术生成
  1. 按键响应分发超时(Key Dispatch Timeout)
    默认 5 s,超过则会出现ANR。
  2. 广播超时(Broadcast Timeout)
    默认 10 s,超过则会出现ANR。
  3. 服务超时(Service Timeout)
    默认 20 s,超过则会出现ANR。

三、ANR 产生的原因

Android系统中,APP 通常运行在一个UI Thread或者叫MainThread里。并且Android中只有一个MainThread 和Main Message QueueMainThread主要用于UI的绘制、事件响应,监听与接收事件处理等功能。Main Message Queue 主要存放用户要处理消息的队列,主线程MainThread从消息队列Main Message Queue中取消息Message后,尽快分发下去,一旦某条消息分发超时,则ANR可能发生。

因此,当ANR 发生时,我们要分析ANR产生的原因,也就是查找消息处理不及时的原因。例如可以从以下几个疑问点进行分析:

  • 1.为什么 APP不能获取CPU时间片?
  • 2.APP 是否是等待一些没能及时处理的事件完成?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值