频道栏目
IT货架 > > 正文
Android ANR发生原因总结
网友分享于:Jan 1, 1970 8:00:00 AM    来源: IT货架   

标签:android   blog   http   io   ar   数据   sp   问题   cti   

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

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

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

bubuko.com,布布扣

粗略的来分会有两种情况导致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发生原因总结

标签:android   blog   http   io   ar   数据   sp   问题   cti   

广告服务联系QQ:1134687142 | 网站地图

版权所有: IT货架- 内容来自互联网,仅供用于技术学习,请遵循相关法律法规. 京ICP备11030978号-1