ANR(Application Not Responding) Android系统中应用无响应

是Android系统中比较常见的问题,当出现ANR时一般情况会弹出一个带有以下文字的对话框提示:

Activity XXX(in XXXXX) is not responding. 比如:

粗略的来分会有两种情况导致ANR:

第一类:dispatchTimeout 输入事件分发超时,一般是由于主线程在5秒之内没有响应输入事件。

第二类:BroadcastReceiver没有在系统设定的时间内完成并返回。

再细分的话ANR可能是由主线程导致也可能是由非主线程导致:

由于主线程导致的情况:

1.耗时网络访问

2.当有大量数据读写操作时再请求数据读写

3.数据库操作(比如其他大数据量应用访问数据库导致数据库负载过重时)

4.硬件操作(比如Camera)

5.调用thread_join() / Sleep() / Wait() 或者等待locker的时候

6.Service binder数量达到上限

7.在system_server中发生WatchDog ANR

8.Service忙导致超时无响应

由于非主线程导致的情况:

1.非主线程持有lock,导致主线程等待lock超时

2.非主线程终止或者崩溃导致主线程一直等待

From:http://www.cnblogs.com/mobile-veterans/archive/2012/07/20/2600715.html

Android ANR发生原因总结的更多相关文章

  1. android ANR产生原因和解决办法【转】

    ANR (Application Not Responding) ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(AN ...

  2. android ANR产生原因和解决办法

    转自http://blog.sina.com.cn/s/blog_618199e60101kvbl.html ANR (Application Not Responding) ANR定义:在Andro ...

  3. [转]android ANR产生原因和解决办法

    ANR (Application Not Responding) ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(AN ...

  4. android ANR产生原因和解决的方法

    ANR (Application Not Responding) ANR定义:在Android上,假设你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框.这个对话框称作应用程序无响应(AN ...

  5. Android ANR的产生与分析

      ANR即Application Not Responding应用无响应,一般在ANR的时候会弹出一个应用无响应对话框.也许有些开发者在使用某些手机开发中不在弹出应用无响应弹出框,特别是国产手机An ...

  6. Android ANR 分析解决方法

    一:什么是ANR ANR:Application Not Responding,即应用无响应 二:ANR的类型 ANR一般有三种类型: 1. KeyDispatchTimeout(5 seconds) ...

  7. 如何分析解决Android ANR

    来自: http://blog.csdn.net/tjy1985/article/details/6777346 http://blog.csdn.net/tjy1985/article/detail ...

  8. Android ANR分析(2)

    转自:http://blog.csdn.net/ruingman/article/details/53118202   定义 主线程在特定的时间内没有做完特定的事情 常见的场景 A.input事件超过 ...

  9. Android ANR分析(1)

    转自:http://blog.csdn.net/itachi85/article/details/6918761 一:什么是ANR ANR:Application Not Responding,即应用 ...

随机推荐

  1. Arduino可穿戴开发入门教程Arduino开发环境介绍

    Arduino可穿戴开发入门教程Arduino开发环境介绍 Arduino开发环境介绍 Arduino不像我们使用的PC端操作系统一样,可以直接在操作系统中安装软件为操作系统编程.Arduino的软件 ...

  2. hdu 4825(Trie)

    Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others)Total S ...

  3. 【贪心】Codeforces Round #423 (Div. 1, rated, based on VK Cup Finals) A. String Reconstruction

    在每个给出的子串的起始位置打个标记,记录的是从这里开始的最长子串. 然后输出的时候就扫,如果遇到开始位置,就从这里开始输出,如果其后被更长的覆盖,就跳转到更长的串进行输出. 如果位置没被覆盖,就输出' ...

  4. UVA 12284 Digital Matrix

    思路:这个分清楚情况就很好做了. 注意一点当A的转置等于B的时候(对角线除外),记录A的下三角(或上三角)有cnt个的数与B不同,如果cnt>1则 不需要额外的步数就可以了,否则当k==2时结果 ...

  5. Problem G: 零起点学算法86——Fibonacc

    #include<stdio.h> int main(){ ]={,,}; ;i<=;i++) { a[i]=a[i-]+a[i-]; } scanf("%d", ...

  6. [转] Log4j 配置 的webAppRootKey参数问题

    在tomcat下部署两个或多个项目时,web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为“webapp.root”,如下:<!-- 应用路径 --> < ...

  7. [ Android Memory] MAT查看图片资源

    参考: http://stackoverflow.com/questions/12709603/mat-eclipse-memory-analyzer-how-to-view-bitmaps-from ...

  8. lykchat信息发送系统

    lykchat信息发送系统是Python3开发的,通过模拟微信网页端,基于个人微信号,为系统管理人员提供信息发送工具. 实现的功能有用户登录管理.微信登陆管理和微信信息发送功能. 代码地址:https ...

  9. 使用nsswitch控制linux dns解析顺序

    参考:1.DNS原理入门参考:http://www.ruanyifeng.com/blog/2016/06/dns.html 2.http://cn.linux.vbird.org/linux_ser ...

  10. 三种主流的Web服务实现方案(REST+SOAP+XML-RPC)简述及比较

    目前知道的三种主流的Web服务实现方案为:REST:表象化状态转变 (软件架构风格)SOAP:简单对象访问协议 XML-RPC:远程过程调用协议 下面分别作简单介绍: REST:表征状态转移(Repr ...