ANR 应用程序无响应

2017-02-15  本文已影响0人  岛在深海处
ANR的分类

1.KeyDispatchTimeout(5 seconds)-主要情况:按键或触摸事件在指定时间内无响应。

2:BroadcastTimeout(10 seconds) :BroadcastReceiver在特定时间内无法处理完成

3:ServiceTimeout(20 seconds) –小概率类型 : Service在特定的时间内无法处理完成

ANR的解决方法

1.在主线程中尽量少进行程序执行,可以采用开启子线程的方式,然后通过Handler+Messager的方式来做一些操作。

2.应用程序应该避免在BroadcastReceiver里做耗时的操作或计算。但不要在子线程里去做这些事情(因为 BroadcastReceiver的生命周期短)。而应该让应用程序应该启动一个 Service

上一篇下一篇

猜你喜欢

热点阅读