外观
卡顿 ANR 崩溃怎样区别 怎样排查?
标准回答
卡顿是用户可感知的响应或帧呈现不及时;ANR 是系统认定应用未在相应时限内完成特定响应;崩溃是未处理异常、原生故障等导致异常终止。ANR 不等于“主线程连续执行超过 5 秒”这一条规则。(ANR 分析)
机制解释
输入分发超时常见默认阈值约 5 秒,但广播、服务等有各自条件和时限,且受版本和场景影响。主线程可能不是在忙算,而是在等锁、远端 Binder,或者没有合适的可接收输入窗口。抓取主线程栈后还要追等待链。
延伸追问
崩溃先看什么?完整异常类型、cause 链和相关业务栈,结合版本、机型与用户步骤;原生崩溃需要保留对应符号。不要只截最上面一行,也不要给所有异常套 try-catch 后当作已修复。
内容来源
- Android 智能硬件 SDK 技术 Wiki · 原条目
Q62