ANR解析

作者: sanfen | 来源:发表于2019-08-07 17:53 被阅读0次

分类

1.KeyDispatchTimeout 按键或触摸事件在特定时间内无响应

2.BroadcastTimeout BroadcastReceiver在特定时间内无法处理完成

3.ServiceTimeout Service在特定的时间内无法处理完成

发生原因

  1. 应用自身原因
    • IO异常,数据库异常
    • 图像操作
    • 创建大量对象,内存不足
  2. 其他进程间接引起
    • 当前应用进程进行进程间通信请求其他进程,其他进程操作长时间无返回。
    • CPU占用高导致当前进程无法抢占到CPU时间片

排查问题

  1. ANR的Log信息保存在:/data/anr/traces.txt
  2. 仔细查看ANR的成因(iowait?block?memoryleak?)

原因

1.InputDispatching Timeout:输入事件分发超时5s未响应完毕;

2.BroadcastQueue Timeout :前台广播在10s内、后台广播在20秒内未执行完成;

3.Service Timeout :前台服务在20s内、后台服务在200秒内未执行完成;

4.ContentProvider Timeout :内容提供者,在publish过超时10s;

检测工具

LeakCanary

源码

相关文章

  • ANR解析

    分类 1.KeyDispatchTimeout 按键或触摸事件在特定时间内无响应 2.BroadcastTimeo...

  • ANR完全解析

    1.什么是ANR 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话...

  • Multidex(二)之Dex预加载优化

    一、前言 在Multidex(一)之源码解析中我们介绍到MultiDex极有可能出现ANR(Application...

  • ANR traces文档解析

    一、前言 此文主要记录发生ANR时生成的traces.txt文档,便于记忆分析。 ANR中的traces.txt文...

  • Android 内存泄漏

    【Android 内存泄漏】 引用: ★★★ 【知识必备】内存泄漏全解析,从此拒绝ANR,让OOM远离你的身边,跟...

  • Android ANR 机制

    Broadcast ANR[#broadcast-anr] Service ANR[#service-anr] C...

  • AsyncTask的使用及原理解析

    AsyncTask的使用及原理解析 Android应用在主线程中执行耗时任务时会导致ANR(Application...

  • App测试

    App测试关注点:ANR、APM ANR 一、ANR是什么 ANR(Application Not Respond...

  • ANR分析

    ANR日志分析 获取日志 trace文件解析 trace文件例子 关注主线程调用栈,断点调试若干次就可搞定了。 基...

  • Android ANR 监测方案解析

    前言 ANR(Application Not Responding),应用程序无响应,会严重影响用户体验。作为测试...

网友评论

      本文标题:ANR解析

      本文链接:https://www.haomeiwen.com/subject/paeadctx.html