Skip to content
阅读进度

ANR 和 system_server 卡死怎么排查? ​

返回 性能与稳定性 目录

标准回答 ​

ANR 要先确定类型和触发时间,包括输入分发、组件执行以及前台服务等场景,再结合 ANR reason、线程栈、日志和 Perfetto 找等待链。主线程可能在执行长计算,也可能在等 I/O、锁或同步 Binder,远端拥塞也会传导到应用。system_server 卡死还要检查关键线程、全局锁和服务间调用,Watchdog 日志能提示被监控线程或锁的异常。单次线程栈只能反映采样时刻,我会把锁持有者、Binder 服务端和调度一起关联。

延伸追问 ​

常见的输入超时约 5 秒不是所有 ANR 的统一阈值;不同类型、平台版本和状态有不同规则。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。