ANR

一、ANR产生
1.对于Activity,在5秒内没有响应输入的事件(例如,按键按下,屏幕触摸)
2.对于BroadcastReceiver,在10秒内没有执行完毕

二、ANR避免
1.对于Activity,主线程里不做耗时操作。数据库、网络、耗时计算(如比特图位移)用子线程做,把结果用hangdler方式返回主线程。
2.对于BroadcastReceiver,在IntentReceiver里,只做耗时小的操作,如保存设定或者注册一个Notification。对于耗时操作,应启动一个Service来完成。另外,在IntentReceiver里,不要启动Activity,而应该用Notification来处理。



猜你喜欢

转载自lichangjielong.iteye.com/blog/1853373
ANR