2021
09-24
09-24
解析Android ANR问题
目录一、ANR介绍1.1、ANR类型1.1.1、KeyDispatchTimeout1.1.2、BroadcastTimeout1.1.3、ServiceTimeout 1.2、ANR发生的原理二、ANR分析示例2.1、查看log日志文件2.2、Trace文件(data/anr/traces.txt)2.3、死锁demo三、其他分析思路四、减少发生ANR概率一、ANR介绍ANR由消息处理机制保证,Android在系统层实现了一套精密的机制来发现ANR,核心原理是消息调度和超时处理。ANR机制主体实现在系统层,所有与ANR相关...
继续阅读 >
目录一、概述二、ANR产生机制2.1输入事件超时(5s)2.2广播类型超时(前台15s,后台60s)2.3服务超时(前台20s,后台200s)2.4ContentProvider类型三、导致ANR的原因3.1应用层导致ANR(耗时操作)3.2系统导致ANR四、分析日志4.1CPU负载4.2内存信息4.3堆栈消息五、典型案例分析5.1主线程无卡顿,处于正常状态堆栈5.2主线程执行耗时操作5.3主线程被锁阻塞5.4CPU被抢占5.5内存紧张导致ANR5.6系统服务超时导致ANR一、概...