Android ANR产生的原因和分析

2025-04-11 05:01:02
推荐回答(1个)
回答(1):

ANR: ANR全称是Application No Responding,翻译过来就是程序无响应, 他是Android独有的概念。定位和解决以及避免ANR是我们需要必备的技能。

1: ANR产生的原因:
Android的UI线程响应超时就会引起ANR, 主要体现在两种情况中:

2:典型的ANR场景:

1: 当一个ANR的问题产生, 我们无法确认是ANR watchdog或者是crash。每一种类型的问题的产生都有不同的影响范围和表现形态, 一般冻屏, 一段时间后程序退出, 这种情况的产生都是ANR。在我们的AP Log中,ANR的filter字段一般有这几种: ANR low_memory slow_operation. 我们根据这些关键字搜索到发生ANR的地方:

2: ANR log日志在系统的data/anr目录下, 我们将所有的anr log日志pull出来。

3: 打开这个文件